0

私のアプリには、デュアル タブ アクティビティがあり、各タブはフラグメントに対応しています。タブの 1 つで、確認時にタブを切り替えるオプションをユーザーに要求します。したがって、ダイアログを作成し、タブを切り替えるためのコードは次のようになります。

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() でも実行しようとしましたが、同じエラーが発生します。

4

1 に答える 1

0

参考までに、 alertdialog 内のタブを変更する別の方法で試しましたか? :) 例えば:

        TabHost tabHost =  (TabHost) findViewById(android.R.id.YOURTABHOST);
      tabHost.setCurrentTab(0); 
于 2014-02-27T20:51:45.500 に答える