2016-02-10 7 views
-2

Я хочу сделать предупреждение, когда пользователь нажимает на выход Button в этом действии. Как это можно достичь?Предупреждение при нажатии кнопки выхода

public class MainActivity extends Activity { 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.mainactivity); 
     addListenerOnButton(); 
    } 

    public void addListenerOnButton() { 

     final Context context = this; 

     Button button1 = (Button)findViewById(R.id.button1); 
     Button button2 = (Button)findViewById(R.id.button2); 
     Button exit = (Button) findViewById(R.id.button4); 

     button1.setOnClickListener(new OnClickListener() { 

      @Override 
      public void onClick(View arg0) { 

       Intent intent = new Intent(context, A.class); 
       startActivity(intent); 

      } 

     }); 
     button2.setOnClickListener(new OnClickListener() { 

      @Override 
      public void onClick(View arg0) { 

       Intent intent = new Intent(context, B.class); 
       startActivity(intent); 

      } 

     }); 
     exit.setOnClickListener(new View.OnClickListener() { 
      public void onClick(View v) { 
       // TODO Auto-generated method stub 
       moveTaskToBack(true); 
     }); 


    } 
    public void onBackPressed() { 
     new AlertDialog.Builder(this) 
       .setMessage("Are You Sure?") 
       .setCancelable(false) 
       .setPositiveButton("Yes", new DialogInterface.OnClickListener() { 
        public void onClick(DialogInterface dialog, int id) { 
         MainActivity.this.finish(); 
        } 
       }) 
       .setNegativeButton("No", null) 
       .show(); 
    } 

    @Override public boolean onCreateOptionsMenu(Menu menu) { 
     return true; 
    } 

} 
+0

Основы, кажется, все в вашем коде. Попытайтесь понять, что вы сделали, немного экспериментируйте, и вы получите свой результат. – AlbAtNf

+0

Полностью согласен с @AlbAtNf, посмотрите на код под 'onBackPressed()' там создайте alertdialog, используйте его и для своей кнопки выхода. – Strider

+0

Вы можете задать свой вопрос более конкретным, если хотите получить более четкий ответ – jclozano

ответ

0

Создайте метод под названием: exitDialog() так:

public void exitDialog() { 
    new AlertDialog.Builder(this) 
      .setMessage("Are You Sure?") 
      .setCancelable(false) 
      .setPositiveButton("Yes", new DialogInterface.OnClickListener() { 
       public void onClick(DialogInterface dialog, int id) { 
        MainActivity.this.finish(); 
       } 
      }) 
      .setNegativeButton("No", null) 
      .show(); 
} 

, чем использовать его в методе onBackPressed() и вашу кнопку выхода, как:

public void onBackPressed() { 
    exitDialog(); 
    super.onBackPressed(); 
} 

и

exit.setOnClickListener(new View.OnClickListener() { 
    public void onClick(View v) { 
     exitDialog(); 
}); 
0

Просто позвоните на кнопку clicklistener вашего метода onBackPressed()!

И вы получите одно и то же предупреждение, например, когда вы нажимаете физическую кнопку задней клавиши!

exit_button.setOnClickListener(new View.OnClickListener() { 

     @Override 
     public void onClick(View v) { 

      onBackPressed(); 

     } 
    }); 
Смежные вопросы