从上一个活动传递的信息中设置每个tabhost的布局

时间:2012-10-12 21:32:14

标签: android android-layout android-tabhost textview

我在设置标签式布局时遇到了一些麻烦。我的目标是从前一个活动传递一些信息,在本例中为“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。

非常感谢任何帮助。谢谢。

1 个答案:

答案 0 :(得分:0)

我怀疑初始布局可能有些不对劲。 [请记住,名称'tabhost','tabs'和'tabcontent'必须分别用于TabHost,TabWidget和FrameLayout。]另一种可能性是引用的活动不存在或未在清单中引用。另外,我没有看到对'onTabChangeListener'的引用。在这里,您可以第一眼看到标签标识符:信息,食物或提示。