2011-12-28 184 views
1

我做了一个自定义的视图,在viewpager的几个片段中使用。我什么时候需要膨胀自定义视图的布局?

视图始终存储为片段的字段。我在构造函数中膨胀了布局,并且一切都很好地翻动了页面。因为总是创建下一个片段,所以视图显示没有任何问题。但是如果我回去重新创建一个被破坏的片段视图,并且它给了我一个错误,因为我仍然使用相同的自定义视图,因为构造函数没有被调用,所以这个视图没有被夸大。

那么,我什么时候需要膨胀自定义视图的布局呢?我不认为代码会清除任何东西,但如果需要,我可以交付。

回答

1

在这个函数中:

@Override 
public boolean onCreateOptionsMenu(Menu menu) 
{ 
    MenuInflater inflater = getMenuInflater(); 
    inflater.inflate(R.menu.game_menu, menu); 
    return true; 
} 

基准是HERE

+0

我说的是正常的CustomView。不是关于菜单。你确定你正确地阅读了这个问题,或者回答了正确的问题吗? – user1014917 2011-12-28 11:41:53

+0

如果不是菜单,构造函数上的充气代码(我假设oncreate)必须工作。 – vgonisanz 2011-12-28 11:49:55

+1

总是一个活动被破坏,当你回来时再次创建。如果你打开方向,就和onDestroy一样,然后再次创建。该构造函数必须被调用 – vgonisanz 2011-12-28 11:51:16

1

我有一个类DynamicRowView含有视图。您可以创建一个类,并调用这个类在你的主文件:

public class DynamicRowView 
{ 
    public View getView(int layout_id,Activity context) 
    { 
     View view = null; 
     view = context.getLayoutInflater().inflate(layout_id, null); 
     return view; 
    } 
} 

,并在您想要的View在主类中这样写:

dynamic_row_view = new DynamicRowView(); 

View view = dynamic_row_view.getView(R.layout.row_menu_list, MenuListingPage.this); 
相关问题