728x90
오늘은 배열과 AlertDialog.Builder를 활용해 항목 선택 다이얼로그를 만들어 보겠습니다.
레이아웃 xml 파일 코드(activity_main.xml)
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:gravity="center"
android:padding="16dp">
<TextView
android:id="@+id/itemTextView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="24sp"
android:text="선택한 항목이 여기에 표시됩니다." />
<Button
android:id="@+id/showDialogButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="목록 보기" />
</LinearLayout>
액티비티 자바 코드
public class MainActivity extends AppCompatActivity {
private TextView itemTextView; //선택한 항목을 표시할 텍스트뷰
private Button showDialogButton; //다이얼로그 띄우기 버튼
private AlertDialog ListDialog; //목록을 보여줄 다이얼로그
String[] strArray={"강아지","고양이","거북이","토끼","뱀","사자","호랑이","표범","치타","하이에나","기린","코끼리","코뿔소","하마","악어"};
//다이얼로그의 목록에 보여줄 항목 데이터
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
itemTextView = findViewById(R.id.itemTextView);
showDialogButton = findViewById(R.id.showDialogButton);
//버튼을 누를시 다이얼로그가 보이도록 설정합니다
showDialogButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
showListDialog();
}
});
//다이얼로그를 생성합니다
createListDialog();
}
private void createListDialog() { // 다이얼로그를 생성하는 메서드 입니다
//다이얼로그 빌더를 생성합니다.
AlertDialog.Builder builder = new AlertDialog.Builder(this);
//빌더에 보여줄 목록 정보와 항목을 눌렸을시 처리할 이벤트를 설정합니다
builder.setItems(strArray, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
//항목을 눌렸을시 텍스트뷰에 해당 항목이 표시됩니다
itemTextView.setText(strArray[i]);
}
});
// 빌더에 목록 선택 안하고 닫기 위한 버튼을 추가 합니다.
builder.setNegativeButton("닫기", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
}
});
//빌더에 설정한 정보대로 다이얼로그를 생성합니다
ListDialog = builder.create();
}
private void showListDialog() { //다이얼로그를 보여주는 메서드입니다
if (ListDialog != null) {
ListDialog.show();
}
}
}
실행 영상
목록에서 선택한 항목이 화면에 표시되는 것을 확인할 수 있습니다.
'안드로이드 자바' 카테고리의 다른 글
[JAVA][Android] 어댑터 재활용 하여 중첩 리사이클러뷰 만들기 (0) | 2024.07.29 |
---|---|
[JAVA][Android] 하나의 리사이클러뷰에 여러 타입의 뷰 추가하기 (Multi-View Type) (0) | 2024.07.28 |
[JAVA][Android] CoordinatorLayout과 BottomSheet 사용해서 유투브 화면 따라 만들기(1) (0) | 2024.07.26 |
[Java][Android] 암시적 인텐트 사용해서 웹 검색하기 (0) | 2024.07.25 |
[Java][Android] DTO 객체를 사용하여 시간 최신 정렬하기 (2) | 2024.07.24 |