安卓从儿童意图设置动作栏



对不起,我只是想知道。可以从child intent设置动作条吗?

在我的情况下,我的主要活动是SherlockActivity,但它使用的是tab主机。然后我添加了一个来自Intent的tabspec,它也使用sherlockActivity。然后我想根据该选项卡规范的意图设置操作栏。

如果可以的话,我可以知道怎么做吗?因为这会使我的应用程序遇到错误。

08-16 10:30:00.470: E/AndroidRuntime(16137): Caused by: java.lang.RuntimeException: Unable to start activity ComponentInfo{}: java.lang.NullPointerException

这是我的主要活动:

公共类MainActivity扩展SherlockActivity{

private LocalActivityManager lam;
private TextView tv;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main_layout);
    lam = new LocalActivityManager(this, false);
    lam.dispatchCreate(savedInstanceState);
    getSupportActionBar().setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM);
    getSupportActionBar().setCustomView(R.layout.header);
    View v = getSupportActionBar().getCustomView();
    tv = (TextView) v.findViewById(R.id.headerTitle);
    tv.setTypeface(Typeface.createFromAsset(AlumniApplication.getContext().getAssets(), "fonts/LLNITRO_.ttf"));
    tv.setText("Title");
    setTab();
}
private void setTab(){      
    TabHost tabHost = (TabHost) findViewById(R.id.main_tabhost);
    tabHost.setup(lam);
    TabSpec com = tabHost.newTabSpec("community");
    com.setIndicator(getTabIndicator(R.drawable.com_tab));
    com.setContent(new Intent(AlumniApplication.getContext(), CommunityActivity.class));
    tabHost.addTab(com);
}
private View getTabIndicator(int srcId){
    View v = LayoutInflater.from(AlumniApplication.getContext()).inflate(R.layout.tab_image_layout, null);
    ImageView iv = (ImageView) v.findViewById(R.id.tab_image);
    iv.setImageResource(srcId);
    return v;
}

}

然后我想从儿童意图中设置动作条

公共类CommunityActivity扩展SherlockActivity{

private LocalActivityManager lam;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.tab_above_layout);
}

}

但当我这么做的时候,它出错了。

如果您想从子片段中调用活动的方法(托管片段),则需要获取托管活动的引用。使用getActivity(),您可以获得此连接。现在,您可以在片段中调用活动的方法。

例如:

getActivity().setTitle(R.string.my_actionbar_title); 

最新更新