0

我在设置选项卡式布局时遇到了一些问题。我的目标是获取从先前活动传递的一些信息,在本例中为“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。

任何帮助将不胜感激。谢谢你。

4

1 回答 1

0

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

于 2012-10-14T21:43:13.690 回答