일단 원하는 화면에 버튼을 하나 추가한다. (여기서는 버튼 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 를 지정하지 않고 직접 리스너를 지정해줘도 된다.
이렇게 해도 똑같이 동작한다.




