私はいつもこの問題を抱えてい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 が返されます。これを解決する方法はありますか?Activity
false
true