차근차근 동빈나 님의 유튜브 영상을 보면서 만들고 싶은 앱이
있기 때문에 일단 조금씩 만들면서 느낌을 잡고는 있는데 아직 막 확 이해되거나 그렇지는 않다
자바도 작년에 했던 거 같은데 또 기억이 슬금슬금 도망간 거 같다 휴,,
사용 버젼 : [ 안드로이드 스튜디오 4.0 ]
다시 복습한다고 생각하고 다시 새 프로젝트를 만든 다음에
리스트를 나오게 할 Button과 종료 Button을 만들기 위해
res/layout/activity_main.xml에
들어가서
이렇게 버튼 두개를 배치해주고
MainActivity.java에 들어가서 코드를 짜주면 되는데
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 builer = new AlertDialog.Builder(MainActivity.this);
builer.setTitle("리스트");
builer.setItems(items, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
Toast.makeText(getApplicationContext(),items[i],Toast.LENGTH_SHORT).show();
}
});
AlertDialog alertDialog = builer.create();
alertDialog.show();
}
});
findViewById로 layout에서 설정했던 버튼을 가져오고
listButton.setOnClickListener(new View.OnClickListener()은 이 버튼을 눌렀을 때에 할 행동에 대해 설정할 수 있다.
저렇게 설정하면 위에
이렇게 아이템들을 정해놨기 때문에 아이템들이 나오고
아이템을 누르게 되먄
Toast 띄우는 방법은
Toast.makeText(getApplicationContext(), "출력할 문자열", Toast.LENGTH_LONG).show();
이렇게 사용하면 되는데 Toast란 저 빨간 상자를 말한다.
3번째 인자로 들어가는 값는
LENGTH_SHORT : 잠깐 보여줄 때
LENGTH_LONG : 길게 보여줄 때
사용할 수 있다.
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 dialogInterface, int i) {
finish();
}
})
.setNegativeButton("No", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
dialogInterface.cancel();
}
});
AlertDialog alert = builder.create();
alert.setTitle("종료 알림창");
alert.show();
}
});
이제 종료 버튼을 만들어줘야 하는데 똑같이
findViewById로 layout에서 설정했던 버튼을 가져온 다음에
알림 창을 만들고
사용자가 배경을 눌러도 알림 창이 꺼지게 하지 않게 하기 위해서
builer.setCancelable(false)로 설정해줘야 한다
True로 설정할 경우 배경이나 뒤로 가기를 누르게 되면 알림 창이 꺼진다
빨간 박스 부분을 만들어 주기 위해서
.setPositiveButton는 Yes 버튼으로 앱이 꺼지게 되고,
setNegativeButton는 dialogInterface.cancel()로 알림 창을 끌 수 있게 된다.
여기까지 하면 끝 ❗️
[ 실행 화면 ]
[ 전체 코드 ]
package com.example.tutorial3;
import androidx.appcompat.app.AlertDialog;
import androidx.appcompat.app.AppCompatActivity;
import android.content.DialogInterface;
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 builer = new AlertDialog.Builder(MainActivity.this);
builer.setTitle("리스트");
builer.setItems(items, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
Toast.makeText(getApplicationContext(),items[i],Toast.LENGTH_SHORT).show();
}
});
AlertDialog alertDialog = builer.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 dialogInterface, int i) {
finish();
}
})
.setNegativeButton("No", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
dialogInterface.cancel();
}
});
AlertDialog alert = builder.create();
alert.setTitle("종료 알림창");
alert.show();
}
});
}
}
'CODING > Android Studio' 카테고리의 다른 글
[안드로이드/인스타그램클론] # 3 구글 로그인 기능 추가 (5) | 2020.08.14 |
---|---|
[안드로이드/인스타그램클론] # 2 로그인 화면 기능 만들기 (feat. 코틀린 기본 문법) (0) | 2020.08.10 |
[안드로이드/인스타그램클론] # 1 로그인 화면 만들기 (0) | 2020.08.10 |
[안드로이드]안드로이드 # 2 계산기 만들기 (feat. 갓 동빈나 님,,) (0) | 2020.07.13 |
[안드로이드]안드로이드 # 1 (0) | 2020.07.06 |
댓글