在我的应用中,我有一个双标签式活动,每个标签对应一个片段。在我的一个标签中,我提示用户提供一个选项,在确认后,应该切换选项卡。因此,我创建对话框和切换选项卡的代码如下所示:
new AlertDialog.Builder(getActivity())
.setMessage("Login now with email?")
.setTitle("Prompt")
.setPositiveButton("Yes",
new DialogInterface.OnClickListener(){
public void onClick(DialogInterface dialog, int which){
getActivity().getActionBar().setSelectedNagivationItem(0)})
.show();
但是,当我运行它时,我得到了一个
java.lang.RuntimeException: Unable to instantiate activity
ComponentInfo com.package.app/com.package.app.activityname}:
java.lang.ClassCastException: com.package.app.activityname cannot be cast to
android.app.Activity
只有当我从对话框中调用方法时才会出现此错误,如果我在对话框不在前面时运行它,它可以工作。在对话框解散后我也尝试在OnResume()中执行它,但它给了我同样的错误。
答案 0 :(得分:0)
仅供参考,您是否尝试过另一种方法来更改alertdialog中的标签? :)例如:
TabHost tabHost = (TabHost) findViewById(android.R.id.YOURTABHOST);
tabHost.setCurrentTab(0);