对不起,我只是想知道。可以从设置操作栏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);
}
}
但是当我这样做时,它出错了。