public class MainActivity extends AppCompatActivity {
Button button2;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
button2 = (Button)findViewById(R.id.button2);
}
public void button(View v){
AlertDialog.Builder dlg= new AlertDialog.Builder(this);
dlg.setTitle("종료");
dlg.setMessage("종료 하시겠습니까?");
dlg.setIcon(R.mipmap.ic_launcher);
dlg.setPositiveButton("확인", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
MainActivity.this.finish();
Toast.makeText(MainActivity.this, "종료 되었습니다.", Toast.LENGTH_SHORT).show();
}
});
dlg.setNegativeButton("취소", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
Toast.makeText(MainActivity.this, "취소", Toast.LENGTH_SHORT).show();
}
});
dlg.show();
}}
Button button2;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
button2 = (Button)findViewById(R.id.button2);
}
public void button(View v){
AlertDialog.Builder dlg= new AlertDialog.Builder(this);
dlg.setTitle("종료");
dlg.setMessage("종료 하시겠습니까?");
dlg.setIcon(R.mipmap.ic_launcher);
dlg.setPositiveButton("확인", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
MainActivity.this.finish();
Toast.makeText(MainActivity.this, "종료 되었습니다.", Toast.LENGTH_SHORT).show();
}
});
dlg.setNegativeButton("취소", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
Toast.makeText(MainActivity.this, "취소", Toast.LENGTH_SHORT).show();
}
});
dlg.show();
}}
경고창 띄우기 실습하고 있었는데 이해가 안되는 부분이 있어서 질문을 올립니다
온클릭 리스너에 메인엑티비티를 끄면 토스트메세지가 나오게 해놓았는데
제 예상은 MainAtivity.this.finish(); 메소드가 작동해서 어플이 꺼지기 때문에 이후 작동되는 토스트메세지는 작동이 안될 줄알았습니다 그런데 작동이 되더군요
이유가 뭘까요?
finish 호출되더라도 어플리케이션 프로섹스는 살아 있음. 토스트를 뛰우고 싶지 않다면 현재 액티비티가 foreground에 있는지 체크해야 할듯