2012-04-01 5 views
0

この質問をもう一度お聞きしたいのですが、私はstackoverflowやその他のアンドロイドグループでいくつかのソリューションを試しましたが、AlertBoxはポジティブボタンをクリックしないでインテントを呼び出します

アクティビティでは、私は「アプリケーションを終了しますか?」という警告ボックスを表示したいと思います。ユーザーが「はい」をクリックすると、自分のアプリのランチャー(自宅)のアクティビティに移動したい、他のユーザーは同じボタンをクリックして同じページにいます。 問題は、警告ボックスを表示した後、私は自動的に私はYESボタンを

Plzを助け押す前に自動的に(ホーム)活性ランチャーにリダイレクトだということです

CODE:あなたは内部super.onBackPressed();を移動する必要が

public void onBackPressed() { 
// TODO Auto-generated method stub 
super.onBackPressed(); 
Log.i(TAG, "BACK PRESSED"); 
AlertDialog.Builder renameDialog = new AlertDialog.Builder(MainMenu.this); 
renameDialog.setTitle("Warning"); 
renameDialog.setMessage("Do you want to logout?"); 
renameDialog.setPositiveButton("OK", new DialogInterface.OnClickListener() { 
public void onClick(DialogInterface arg0, int arg1) { 
launchIntent(); 
} 
}); 

renameDialog.setNegativeButton("Cancel", new DialogInterface.OnClickListener() { 
public void onClick(DialogInterface arg0, int arg1) { 
arg0.cancel();  
} 
}); 
renameDialog.show(); 
} 

private void launchIntent() { 
Log.i("positive button","pressed"); 
Intent i=new Intent(MainMenu.this,LoginActivity.class); 
i.setFlags(Intent.FLAG_ACTIVITY_NO_HISTORY); 
Log.e("from main menu","calling login"); 
startActivity(i); 
} 
+0

何をしたいのですか – Ishu

答えて

3

ポジティブボタンのクリックリスナの実行中のアクティビティを終了します。または、必要ならば、現在のロジックがポジティブボタンがクリックされた場合に新しいアクティビティを開始しようとしていることを示すので、この行をコメントアウト(除外)してください。

+0

私は二番目のWaqasの答え... super.onBackPressed()は必要ありません...あなたはstartIctivity(homeIntent)がlaunchIntent()メソッドの中に書かれていると仮定します。 super.onBackPressed()は、現在のアクティビティがdialog.show()を呼び出す前に終了します。 – drulabs

0

super.onBackPressed()をコールしないでください!

関連する問題