Dialog

유시현·2022년 12월 22일
0

Android

목록 보기
6/34
  1. Dialog 직접 인스턴스하는것은 삼가해야함
  2. 대신 AlertDialog, DatePickerDialog, TimePickerDialog 이런 서브클래스 사용하는것을 추천
 @Override
    protected void onCreate(Bundle savedInstanceState) {
        String arr[] = {"1","2","3"};


        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        button= (Button) findViewById(R.id.btn);
        textView = (TextView) findViewById(R.id.text);
        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                EditText ed = new EditText(MainActivity.this);
                AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
                builder.setTitle("선택하세요");
                builder.setItems(arr, new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialogInterface, int i) {
                        Log.d("1", "onClick:"+i);
                    }
                });
                builder.setView(ed);

                 builder.setPositiveButton("확인", new DialogInterface.OnClickListener() {
                            @Override
                            public void onClick(DialogInterface dialogInterface, int i) {
                                textView.setText(ed.getText().toString());
                                //
                            }
                        })
                        .setNegativeButton("취소", new DialogInterface.OnClickListener() {
                            @Override
                            public void onClick(DialogInterface dialogInterface, int i) {
                                dialogInterface.dismiss();
                            }
                        });

                 builder.create();
                builder.show();

            }
        });
    }

builder은 디자인 패턴

public void onClick(DialogInterface dialogInterface, int i)

i는 1부터 시작한다
첫번째 게시물은 1, 두번째 게시물은 2 이런식으로
배열이나 list와 같이 사용시 유의해야함

깃헙
https://github.com/yoosh199/Andorid-Study/tree/main/Dialog

profile
안드로이드 ,ios 공부하고 있습니다

0개의 댓글