2016-10-06 9 views
0

marshmallowを使用するすべてのユーザーが、アラートダイアログの作成エラーに遭遇した可能性があります。 だから、警告ダイアログを構築するための通常のプロセスが動作していない、それが(「この活動でテーマを使用する必要があります。APPCOMPATのテーマ(または子孫)。」)を言うmarshmalloawアラートダイアログエラーが常に発生する

私はのためにマニフェストからテーマを変更しようとしていますアプリケーションとアクティビティの両方が動作しますが、動作しません。誰か助けてくれる?あなたのボタンを更新しました

public class MainActivity extends AppCompatActivity { 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
//  Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); 
//  setSupportActionBar(toolbar); 
// 
//  FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab); 
//  fab.setOnClickListener(new View.OnClickListener() { 
//   @Override 
//   public void onClick(View view) { 
//    Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG) 
//      .setAction("Action", null).show(); 
//   } 
//  }); 


Button button; 
     button=(Button)findViewById(R.id.button); 
     button.setOnClickListener(
       new View.OnClickListener() { 
        @Override 
        public void onClick(View v) { 

         AlertDialog.Builder alert= new AlertDialog.Builder(getApplicationContext()); 

          alert.setCancelable(false); 
         alert.setMessage("Are you sure that you want to close this app?"); 
         alert.setPositiveButton("True", new DialogInterface.OnClickListener() { 
            @Override 
            public void onClick(DialogInterface dialog, int which) { 
             finish(); 
            } 
           } 
         ); 
         alert.setNegativeButton("No", new DialogInterface.OnClickListener() { 
          @Override 
          public void onClick(DialogInterface dialog, int which) { 
           dialog.cancel(); 
          } 
         }); 
         AlertDialog alertManager= alert.create(); 
         alertManager.setTitle("Warning!!!"); 
         alertManager.show(); 
        } 
       } 
     ); 
    } 
+0

あなたのエラーログ? –

+0

は 'getApplicationContext()'の代わりに 'YourActivity.this'を渡します。 –

+0

偉大な1つありがとう –

答えて

0

次のようにクリックしてください:

AlertDialog.Builder alert= new AlertDialog.Builder(<YourActivityName>this); // pass activity context reference 

          alert.setCancelable(false); 

         alert.setPositiveButton("True", new DialogInterface.OnClickListener() { 
            @Override 
            public void onClick(DialogInterface dialog, int which) { 
             finish(); 
            } 
           } 
         ); 
         alert.setNegativeButton("No", new DialogInterface.OnClickListener() { 
          @Override 
          public void onClick(DialogInterface dialog, int which) { 
           dialog.cancel(); 
          } 
         }); 
         AlertDialog alertManager= alert.create(); 
         alertManager.setTitle("Warning!!!"); 
         alertManager.setMessage("Are you sure that you want to close this app?"); // Add message in alert Dialog 
         alertManager.show(); 
+0

素晴らしい1つのanjaliあなたは私に教えてください。アプリケーションのコンテキストとMainActivity.thisを得るの違いは何ですか? –

+0

問題はあなたのgetApplicationContextに実際に問題があなたのsetMessage – Anjali

+0

でしたが、私はMainActivity.thisに変更メッセージは設定されませんが機能しました。 Anywayzありがとう –

関連する問題