2016-10-06 20 views
0

每個使用棉花糖的人都可能面臨警告對話框創建錯誤。 所以正常工藝打造警告對話框不能正常工作,它說:(「你需要使用一個主題。程序兼容性主題(或後代)這個活動。」)一如既往的棉花糖警報對話框錯誤

我試圖改變主題,從艙單應用程序和活動,但不起作用。任何人在那裏幫忙?

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

傳遞'YourActivity.this'而不是'getApplicationContext()'。 –

+0

偉大的一個謝謝 –

回答

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

偉大的anjali,但你可以請告訴我..獲取應用程序上下文和MainActivity.this之間的區別是什麼 –

+0

問題是不是在你的getApplicationContext實際問題是在你的setMessage – Anjali

+0

,但我改爲MainActivity.this但沒有設置消息,但它的工作。 Anywayz謝謝 –