728x90
라디오 버튼형 Dialog를 한 번 구현해볼려고 한다.
(1) activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity"
android:orientation="vertical">
<TextView
android:id="@+id/textView1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="싱글 초이스\n다이얼로그"
android:gravity="center"
android:textSize="25dp" />
<Button
android:id="@+id/button1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/textView1"
android:layout_weight="1"
android:text="싱글 초이스 다이얼로그" />
</LinearLayout>
텍스트뷰와 버튼을 1개씩 만들어줘서 버튼을 클릭하면 라디오 버튼형 다이얼로그가 나오도록 구성할 것이다.
(2) MainActivity.java
package com.example.newdialog;
import androidx.appcompat.app.AppCompatActivity;
import android.app.AlertDialog;
import android.app.Dialog;
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 {
Button btn;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btn = (Button)findViewById(R.id.button1);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
showDialog(1);
}
});
}
@Override
protected Dialog onCreateDialog(int id) {
// TODO Auto-generated method stub
final String [] items = {"사과", "딸기", "참외", "바나나", "두리안"};
AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
builder.setTitle("좋아하는 과일 하나 선택");
builder.setSingleChoiceItems(items, 0, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
Toast.makeText(MainActivity.this, items[which], Toast.LENGTH_SHORT).show();
dialog.dismiss(); // 누르면 바로 닫히는 형태
}
});
return builder.create();
}
}
○ oncreate
btn 버튼을 누르면 다이얼로그가 보이도록 한다.
○ Dialog onCreateDialog(int id)
final String [] items 를 만들어주어 라디오 버튼에 들어갈 선택사항들을 만들어준다.
AlerDialog를 만들어준다.
setSingleChoiceItems 를 통해 라디오 버튼을 클릭하면 그 내용이 토스트 메세지처럼 띄워지도록 한다.
※ 실행화면
'study & bootcamp > 안드로이드 앱 스터디' 카테고리의 다른 글
[Android App 개발 스터디] # 21 로딩화면 만들기 feat. github (0) | 2021.08.25 |
---|---|
[Android App 개발 스터디] #19 FCM 푸시알림 (0) | 2021.08.18 |
[Android App 개발 스터디] #17 Service 백그라운드 음악 (0) | 2021.08.13 |
[Android App 개발 스터디] Notification 예제 (0) | 2021.08.13 |
Android App 개발 스터디 #16 Dialog 다이얼로그 팝업창 (0) | 2021.08.10 |