私のアプリには、デュアル タブ アクティビティがあり、各タブはフラグメントに対応しています。タブの 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() でも実行しようとしましたが、同じエラーが発生します。