嗨,我正在开发使用 Sherlock 操作栏的小型 android 应用程序。我的应用程序包含以下内容。一项主要活动,其中包含 2 个片段和一项示例活动。所以我想要在片段内单击按钮开始新的示例活动。我正在为结果开始样本活动。在活动结果上,我想要将选项卡交换到另一个选项卡的 Tab2。我以下列方式做到了这一点
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Toast.makeText(getSherlockActivity(), "click on button", Toast.LENGTH_SHORT).show();
//getActivity().getActionBar().setSelectedNavigationItem(1);
Intent intent = new Intent(getActivity(), SampleActivity.class);
startActivityForResult(intent, 7);
}
以及我想要做的活动结果
@Override @SuppressLint("NewApi")
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if(requestCode == 7)
{
getSherlockActivity().getSupportActionBar().setSelectedNavigationItem(1);
}
}
因此,当我尝试这样做时getSherlockActivity().getSupportActionBar().setSelectedNavigationItem(1);
,会显示以下错误:
08-08 16:05:21.596: E/AndroidRuntime(6885): FATAL EXCEPTION: main
08-08 16:05:21.596: E/AndroidRuntime(6885): java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=65543, result=0, data=null} to activity {com.example.sampletabapp/com.example.sampletabapp.MainActivity}: java.lang.IllegalStateException: Can not perform this action after onSaveInstanceState
任何对此有解决方案的人。需要帮助谢谢。
这是有关此问题的示例项目https://www.dropbox.com/s/0d61i9ccol189tv/SampleTabAppZIP.tar.gz。你可以检查什么是实际问题。任何对此有解决方案的人请帮忙。谢谢你。