1

投稿の下部にすべてのファイルをリンクします

私の問題は、現在2つのタブがあるタブビューを持っていることです。これらのタブはそれぞれ個別のアクティビティであり、CustomMenuActivity を拡張します。これは、両方のアクティビティが同じオプション メニューを共有できるようにするためです。

私のオプション メニューには、コンテンツ ビューを設定する別のメソッドを呼び出す前のボタンがあります。それは私に NullPointerException を与えます。

これは、別のメソッド内でコンテンツ ビューを設定しているという事実と関係があります。

それを修正する方法、または何らかの方法で回避する方法はありますか?

http://pastebin.com/PR7uMTYC - XML file
http://pastebin.com/VsMrMggn - GuideActivity.java
http://pastebin.com/YVdS6P4j - JAndroidTroubleShooter.java
http://pastebin.com/CpjwM07j - CustomMenuActivity.java
4

1 に答える 1

1

すべてのタブで必要なメニューがまったく同じであれば、次のように実行できます。

  1. 各タブに独自のメニューを膨張させる代わりに、TabActivity 自体でメニューを膨張させます。
  2. 各タブが実装できるインターフェイスを作成し、メニューが異なるタブで呼び出すメソッドを宣言します。
  3. TabActivity では、次のように現在表示されているタブを取得できます。

    Activity activity = getLocalActivityManager().getActivity(getTabHost().getCurrentTabTag());
    

次に、問題のアクティビティがインターフェイスを実装していることを確認し、関連するメソッドを呼び出します。

    if (activity instanceof MyTabInterface)
        ((MyTabInterface) activity).callThisMenuMethod();
于 2011-09-19T08:43:24.270 に答える