0

タブ付きレイアウトの設定に問題があります。私の目的は、前のアクティビティ(この場合は「siteName」)から渡された情報を取得することです。onCreate中に、この情報をタブの1つにテキストフィールドとして設定します。

現在、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、TabWidget、FrameLayout にはそれぞれ「tabhost」、「tabs」、「tabcontent」という名前を使用する必要があることに注意してください。] もう 1 つの可能性は、参照されているアクティビティが存在しないか、マニフェストで参照されていないことです。また、「onTabChangeListener」への参照も見当たりません。ここで、Info、Food、Tips などのタブ識別子が最初に表示されます。

于 2012-10-14T21:43:13.690 に答える