일단 원하는 화면에 버튼을 하나 추가한다. (여기서는 버튼 id 를 btnAlert 로 지정했음)
그리고 그 화면을 불러오는 액티비티에서...
1. 클릭이벤트를 사용하려는 액티비티에 "implements View.OnClickListener" 를 지정한다.
2. onClick() 이벤트를 정의 한다.
3. 액티비티가 로드 될때 클릭 이벤트가 발생하기 원하는 오브젝트를 찾아 (여기서는 버튼) 클릭 이벤트를 지정한다.
package kr.son10001.bcn.myson10001; import android.app.AlertDialog; import android.content.DialogInterface; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.view.View; import android.widget.Button; public class MainActivity extends AppCompatActivity implements View.OnClickListener { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); findViewById(R.id.btnAlert).setOnClickListener(this); } public void onClick(View v) { switch (v.getId()) { case R.id.btnAlert: new AlertDialog.Builder(this) .setTitle("알람 팝업") .setMessage("팝업 창의 내용입니다.\n\n TEST!!") .setNeutralButton("닫기", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dlg, int sumthin) { } }) .show(); // 팝업창 보여줌 break; } } }
이렇게 하고 실행하면...
이렇게 나타난 화면에서 버튼을 클릭하면...
이렇게 팝업창이 나타난다.
참고로 클릭이벤트를 사용하려는 액티비티에 "implements View.OnClickListener" 를 반드시 지정할 필요는 없는데...
package kr.son10001.bcn.myson10001; import android.app.AlertDialog; import android.content.DialogInterface; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.view.View; import android.widget.Button; public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); findViewById(R.id.btnAlert).setOnClickListener(mClickListener); } Button.OnClickListener mClickListener = new View.OnClickListener() { public void onClick(View v) { switch (v.getId()) { case R.id.btnAlert: new AlertDialog.Builder(MainActivity.this) .setTitle("알람 팝업") .setMessage("팝업 창의 내용입니다.\n\n TEST!!") .setNeutralButton("닫기", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dlg, int sumthin) { } }) .show(); // 팝업창 보여줌 break; } } }; }
이렇게 implements 를 지정하지 않고 직접 리스너를 지정해줘도 된다.
이렇게 해도 똑같이 동작한다.