比较来自世界各地的卖家的域名和 IT 服务价格

如何 setContentView 在碎片?

现在我有这个片段,我想用它 setContentView, 但直到我能找到如何做到。 您可以在下面的代码中看到我的案例,我不尝试膨胀布局,我正试图用叫做演示文稿 SampleView. 那我该怎么做?
先感谢您


public class largeImageScroller extends SherlockFragment {

// Physical display width and height.
private static int displayWidth = 0;
private static int displayHeight = 0;

/** Called when the activity is first created. */
public View onCreateView/LayoutInflater inflater, ViewGroup group, Bundle saved/ {

getActivity//;
// displayWidth and displayHeight will change depending on screen
// orientation. To get these dynamically, we should hook onSizeChanged//.
// This simple example uses only landscape mode, so it's ok to get them
// once on startup and use those values throughout.

Display display = //WindowManager/
getActivity//.getSystemService/Context.WINDOW_SERVICE//.getDefaultDisplay//;
displayWidth = display.getWidth//;
displayHeight = display.getHeight//;

// SampleView constructor must be constructed last as it needs the
// displayWidth and displayHeight we just got.
setContentView/new SampleView/this//;
}

private static class SampleView extends View {
private static Bitmap bmLargeImage; //bitmap large enough to be scrolled
private static Rect displayRect = null; //rect we display to
private Rect scrollRect = null; //rect we scroll over our bitmap with
private int scrollRectX = 0; //current left location of scroll rect
private int scrollRectY = 0; //current top location of scroll rect
private float scrollByX = 0; //x amount to scroll by
private float scrollByY = 0; //y amount to scroll by
private float startX = 0; //track x from one ACTION_MOVE to the next
private float startY = 0; //track y from one ACTION_MOVE to the next

public SampleView/Context context/ {
super/context/;

// Destination rect for our main canvas draw. It never changes.
displayRect = new Rect/0, 0, displayWidth, displayHeight/;
// Scroll rect: this will be used to 'scroll around' over the
// bitmap in memory. Initialize as above.
scrollRect = new Rect/0, 0, displayWidth, displayHeight/;

// Load a large bitmap into an offscreen area of memory.
bmLargeImage = BitmapFactory.decodeResource/getResources//,
R.drawable.ground_floor_b/;
}

@Override
public boolean onTouchEvent/MotionEvent event/ {

switch /event.getAction/// {
case MotionEvent.ACTION_DOWN:
// Remember our initial down event location.
startX = event.getRawX//;
startY = event.getRawY//;
break;

case MotionEvent.ACTION_MOVE:
float x = event.getRawX//;
float y = event.getRawY//;
// Calculate move update. This will happen many times
// during the course of a single movement gesture.
scrollByX = x - startX; //move update x increment
scrollByY = y - startY; //move update y increment
startX = x; //reset initial values to latest
startY = y;
invalidate//; //force a redraw
break;
}
return true; //done with this event so consume it
}

@Override
protected void onDraw/Canvas canvas/ {

// Our move updates are calculated in ACTION_MOVE in the opposite direction
// from how we want to move the scroll rect. Think of this as dragging to
// the left being the same as sliding the scroll rect to the right.
int newScrollRectX = scrollRectX - /int/scrollByX;
int newScrollRectY = scrollRectY - /int/scrollByY;

// Don't scroll off the left or right edges of the bitmap.
if /newScrollRectX < 0/
newScrollRectX = 0;
else if /newScrollRectX > /bmLargeImage.getWidth// - displayWidth//
newScrollRectX = /bmLargeImage.getWidth// - displayWidth/;

// Don't scroll off the top or bottom edges of the bitmap.
if /newScrollRectY < 0/
newScrollRectY = 0;
else if /newScrollRectY > /bmLargeImage.getHeight// - displayHeight//
newScrollRectY = /bmLargeImage.getHeight// - displayHeight/;

// We have our updated scroll rect coordinates, set them and draw.
scrollRect.set/newScrollRectX, newScrollRectY,
newScrollRectX + displayWidth, newScrollRectY + displayHeight/;
Paint paint = new Paint//;
canvas.drawBitmap/bmLargeImage, scrollRect, displayRect, paint/;

// Reset current scroll coordinates to reflect the latest updates,
// so we can repeat this update process.
scrollRectX = newScrollRectX;
scrollRectY = newScrollRectY;
}
}
}
已邀请:

快网

赞同来自:

你不打电话
setContentView

碎片,实际上你需要返回
View


onCreateView

.

尝试替换:


setContentView/new SampleView/this//;


有了这个:


return new SampleView/this/;

君笑尘

赞同来自:

返回要使用的表示实例:


@Override
public View onCreateView/LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState/ {
return inflater.inflate/R.layout.ads_tab, container, false/;
}

君笑尘

赞同来自:

也不安全地呼叫
getActivity//


onCreateView//

.
确保您在或之后称之为
onActivityCreated//

, 因为在那一刻你的
Fragment

通过S.完全连接。
Activity

. 看看生命周期
Fragment

.

http://developer.android.com/g ... .html

龙天

赞同来自:

如已经解释的那样,您需要在片段的情况下返回视图。
但仍然 , 如果你想用它就像
setContentView//

, 您可以如下所述。

1.Put 这个代码片段是你必须放的地方
setContentView//



View v = inflater.inflate/R.layout.activity_home, container, false/;


2.Now 如果要从文件中访问某些内容 xml, 你可以用它


chart = v.findViewById/R.id.chart/;


3. 最后
OnCreateView//

你必须放


return v;


完美的例子 :


public View onCreateView/LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState/ {


View v = inflater.inflate/R.layout.activity_home, container, false/;

chart = v.findViewById/R.id.chart/;

return v;
}

二哥

赞同来自:

在行动中,我们需要建立一个视图
setContentView/R.layout.main/


在哪里,如碎片,我们需要覆盖
onCreateView//

, 设置所需的视图。

要回复问题请先登录注册