我在设置标签式布局时遇到了一些麻烦。我的目标是从前一个活动传递一些信息,在本例中为“siteName”,并在onCreate期间将此信息设置为我的一个标签中的文本字段。
目前我正在获取nullPointer异常,并且只能弄清楚如何在整体布局中设置值,在本例中为“location_tabbed_menu”,而不是在各个选项卡中。
我已经搜了几个小时但是找不到答案。我的代码如下:
public class LocationTabbedMenu extends TabActivity {
TextView title;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.location_tabbed_menu);
//Get passed information
Intent i = getIntent();
String siteName = i.getStringExtra("name");
TabHost tabHost = getTabHost();
// Tab for Photos
TabSpec infospec = tabHost.newTabSpec("Info");
// setting Title and Icon for the Tab
infospec.setIndicator("Info", getResources().getDrawable(R.drawable.location_tabbed_menu_info_icon));
Intent infoIntent = new Intent(this, LocationTabbedMenuInfo.class);
TextView title = (TextView) findViewById(R.id.textTest);
title.setText(siteName);
infospec.setContent(infoIntent);
// Tab for Songs
TabSpec foodspec = tabHost.newTabSpec("Food");
foodspec.setIndicator("Songs", getResources().getDrawable(R.drawable.location_tabbed_menu_food_icon));
Intent songsIntent = new Intent(this, LocationTabbedMenuFood.class);
foodspec.setContent(songsIntent);
// Tab for Videos
TabSpec tipsspec = tabHost.newTabSpec("Tips");
tipsspec.setIndicator("Videos", getResources().getDrawable(R.drawable.location_tabbed_menu_tips_icon));
Intent videosIntent = new Intent(this, LocationTabbedMenuTips.class);
tipsspec.setContent(videosIntent);
// Adding all TabSpec to TabHost
tabHost.addTab(infospec);
tabHost.addTab(foodspec);
tabHost.addTab(tipsspec);
}
}
请注意,值“testText”是单个标签中文本视图的ID。
非常感谢任何帮助。谢谢。
答案 0 :(得分:0)
我怀疑初始布局可能有些不对劲。 [请记住,名称'tabhost','tabs'和'tabcontent'必须分别用于TabHost,TabWidget和FrameLayout。]另一种可能性是引用的活动不存在或未在清单中引用。另外,我没有看到对'onTabChangeListener'的引用。在这里,您可以第一眼看到标签标识符:信息,食物或提示。