从对话框切换选项卡时出现ClassCastException

时间:2014-02-27 20:46:35

标签: android android-fragments dialog alertdialog android-navigation

在我的应用中,我有一个双标签式活动,每个标签对应一个片段。在我的一个标签中,我提示用户提供一个选项,在确认后,应该切换选项卡。因此,我创建对话框和切换选项卡的代码如下所示:

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()中执行它,但它给了我同样的错误。

1 个答案:

答案 0 :(得分:0)

仅供参考,您是否尝试过另一种方法来更改alertdialog中的标签? :)例如:

        TabHost tabHost =  (TabHost) findViewById(android.R.id.YOURTABHOST);
      tabHost.setCurrentTab(0); 
相关问题