레이아웃 배치 창으로 돌아가서
위에 버튼의 이름을 리스트로 해주고 ID는 listButton으로 설정해준다
마찬가지로 밑에 쪽 번튼은 exitButton으로 설정해준다.
package org.techtown.alarm;
import android.content.DialogInterface;
import android.support.v7.app.AlertDialog;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity {
private String[] items = {"망고 ", "토마토 ","포도"};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button listButton = (Button) findViewById(R.id.listButton);
listButton.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v){
AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
builder.setTitle("리스트");
builder.setItems(items, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
Toast.makeText(getApplicationContext(),items[i],Toast.LENGTH_SHORT).show();
}
});
AlertDialog alertDialog = builder.create();
alertDialog.show();
}
});
}
}
메인 엑티비티에 다음과 같이 코딩해줍니다.
이는 리스트버튼을 눌렸을 경우 item 에 있는 리스트들을 보여주고
클릭하였을 경우 show함수를 통하여 출력해줍니다.
이제 종료 함수를 만들어 보겠습니다.
package org.techtown.alarm;
import android.content.DialogInterface;
import android.support.v7.app.AlertDialog;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity {
private String[] items = {"망고 ", "토마토 ","포도"};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button listButton = (Button) findViewById(R.id.listButton);
listButton.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v){
AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
builder.setTitle("리스트");
builder.setItems(items, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
Toast.makeText(getApplicationContext(),items[i],Toast.LENGTH_SHORT).show();
}
});
AlertDialog alertDialog = builder.create();
alertDialog.show();
}
});
Button exitButton = (Button) findViewById(R.id.exitButton);
exitButton.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v){
AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
builder.setMessage("정말로 종료하시겠습니까?");
builder.setTitle("종료 알림창")
.setCancelable(false)
.setPositiveButton("Yes", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int i) {
finish();
}
})
.setNegativeButton("No", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int i) {
dialog.cancel();
}
});
AlertDialog alert = builder.create();
alert.setTitle("종료 알림창");
alert.show();
}
});
}
}
마찬가지로 종료 함수도 만들어 보았습니다.
대표사진 삭제
사진 설명을 입력하세요.
다음으로는 각각의 함수를 하나식 살펴보겠습니다.
private String[] items = {"망고 ", "토마토 ","포도"};
private 클래스안에 함수만 접근가능한 String 변수를 생성합니다.
Button listButton = (Button) findViewById(R.id.listButton);
listButton이라는 객체를 생성 그후 findViewById(XML파일을 찾기위한 함수) 로 파일을 찾은후 (Button)으로 캐스팅 한다. 안드로이드 버전에 따라 자동 변환 되는 것도 있습니다.
@Override
오버라이드는 재정의하겠다는 의미로 sign신호입니다.
listButton.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v){
AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
builder.setTitle("리스트");
builder.setItems(items, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
Toast.makeText(getApplicationContext(),items[i],Toast.LENGTH_SHORT).show();
}
});
AlertDialog alertDialog = builder.create();
alertDialog.show();
}
});
listButton.setOnClickListener(new View.OnClickListener(){
listButton에 이벤트를 추가해준다
public void onClick(View v){
버튼을 클릭했을때에 대한 함수처리
builder.setTitle("리스트");
팝업창에 해당하는 제목부분 명시
builder.setItems(items, new DialogInterface.OnClickListener() {
팝업창에 해당하는 리스트부분을 넣어준다.
Toast.makeText(getApplicationContext(),items[i],Toast.LENGTH_SHORT).show();
리스트안에 있는 내용을 클릭 했을때의 이벤트를 설정
Toast를 뛰우는것(잠시뛰우는것)
해당인덱스에 관한 내용을 정확하게 뛰어준다
AlertDialog alertDialog = builder.create();
alertDialog.show();
최종적으로 위에 내용들을 실행한다.
다음은 종료 이벤트를 설정해봅시다.
Button exitButton = (Button) findViewById(R.id.exitButton);
exitButton.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v){
AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
builder.setMessage("정말로 종료하시겠습니까?");
builder.setTitle("종료 알림창")
.setCancelable(false)
.setPositiveButton("Yes", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int i) {
finish();
}
})
.setNegativeButton("No", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int i) {
dialog.cancel();
}
});
AlertDialog alert = builder.create();
alert.setTitle("종료 알림창");
alert.show();
}
});
Button exitButton = (Button) findViewById(R.id.exitButton);
UI에서 id를 가져온다음 버튼 객체를 만든다
exitButton.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v){
해당버튼을 눌렀을때 이벤트를 설정한다.
AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
다이얼로그 빌더를 만들어 그곳으로 객체를 할당한다
(해당내용은 MainAcivity에 계속된다)
builder.setMessage("정말로 종료하시겠습니까?");
해당빌더의 메세지를 출력합니다.
builder.setTitle("종료 알림창")
제목을 설정합니다.
.setCancelable(false)
사용자가 임의적으로 종료불가능하게한다.
.setPositiveButton("Yes", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int i) {
finish();
}
})
Yes버튼을 만든다.
그리고 Yes버튼을 눌렀을때 이벤트 처리
(함수종료)
.setNegativeButton("No", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int i) {
dialog.cancel();
}
});
NO버튼을 만든다.
NO버튼을 눌럿을때 이벤트 처리
다이얼로그 취소한다.
AlertDialog alert = builder.create();
다이얼로그의 객체를 빌더에서받는다.
alert.setTitle("종료 알림창");
다일로그의 제목을 정한다.
alert.show();
이러한 다이얼로그가 보여줄수 있게 해준다.
alert.show();
'개인공부' 카테고리의 다른 글
안드로이드 : 리스트 뷰 (0) | 2020.07.08 |
---|---|
안드로이드 : 네비게이션 메뉴바 만들기. (0) | 2020.07.08 |
tensorflow를 이용해서 binary 값 데이터 학습하기 (0) | 2020.07.04 |
python::tensorflow (0) | 2020.07.04 |
C++::BackPropagation (역전파) (0) | 2020.07.04 |