4

私はいつもこの問題を抱えていjava.lang.IllegalStateException:Could not execute method of the activityます。Androidコンポーネントイベントを実行する予定でした(例:ボタンイベント - このボタンがクリックされた回数を示します)。この問題のコード スニペットは次のとおりです。

interface Selection {
    public void clicked();
}
public class ParentClass extends FragmentActivity {
    // fTabs : FragmentTabHost
    // tabs : Map<String, Selection>    
    private void initialize() {
        // fistFrag : FirstChildClass = new FirstChildClass()
        // secondFrag : SecondChildClass = new SecondChildClass()
        tabs.put("first", firstFrag);
        tabs.put("second", secondFrag);
        fTabs.add(fTab.newTabSpec("first").setTitle("First"), firstFrag.getClass(), null)
        fTabs.add(fTab.newTabSpec("second").setTitle("Second"), secondFrag.getClass(), null)
    }
    @Override
   public void onBackPressed() {
       tabs.get(fTabHost.getCurrentTabTag()).clicked();
   }
}    
public class FirstChildClass extends Fragment implements Selection {
        // data : TextView
        // hit : int = 0
        @Override
        public void clicked() {
            data.setText(String.format("Hit Count: %d", ++hit));
        }
    }
public class SecondChildClass extends Fragment implements Selection {
        // data : TextView
        // hit : int = 0
        @Override
        public void clicked() {
            data.setText(String.format("Hit Count: %d", ++hit));
        }
    }

clicked()メッセージを呼び出して、ワークス ビュー インターフェイス アプローチを保証しようとしましたが、うまくいきましたが、上記のエラーLogcatを使用するとButton、常にプロンプ​​トが表示されます。dataが null であるかどうかを確認したところ、 が返されtrueました。私は少し混乱しています。メソッドからの nullity をチェックしようとしましたがdata、インターフェイスによってオーバーライドされたメソッドにアクセスすると、常に return が返されます。これを解決する方法はありますか?Activityfalsetrue

4

1 に答える 1