我总是遇到这个问题: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));
}
}
我尝试使用
Logcat
来确认通过调用clicked()
的界面交互方法是否有效,并且它可以工作,但是当我使用Button
时,上面的错误总是提示。 我已经检查了data
是否为null,它返回true
。我有点困惑,我尝试从Activity
方法检查data
的空值,它返回false
,但是当我访问由接口覆盖的任何方法时,它总是返回true
。有解决方法吗?
ChildClass
对象。 - David BfTabHost
中需要添加除了ChildClass
之外的其他类。 - David B