2swan

Dialog 팝업창 본문

Programming/Android Function

Dialog 팝업창

2swan 2023. 8. 4. 01:09

.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=".MainActivity2">

    <Button
        android:id="@+id/btn_dialog"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="다이얼로그"/>
    
    <TextView
        android:id="@+id/tv_result"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textSize="40sp"
        android:text="테스트"/>

</LinearLayout>

 

.java

public class MainActivity2 extends AppCompatActivity {

    Button btn_dialog;
    TextView tv_result;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main2);

        //Dialog 팝업창
        btn_dialog = findViewById(R.id.btn_dialog);
        tv_result = findViewById(R.id.tv_result);

        btn_dialog.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                AlertDialog.Builder ad = new AlertDialog.Builder(MainActivity2.this);
                ad.setIcon(R.mipmap.ic_launcher);   //다이얼 로그 창에서 아이콘을 띄움
                ad.setTitle("제목");
                ad.setMessage("홍길동 입니까?");

                final EditText et = new EditText(MainActivity2.this);
                ad.setView(et); //다이얼 로그 안에 EditText 객체 add

                ad.setPositiveButton("확인", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialogInterface, int i) {
                        //확인 버튼을 눌렀을 때
                        String result = et.getText().toString();
                        tv_result.setText(result);  //다이얼 로그 창에 입력 했을 때 입력된 값을 텍스트 뷰에 띄운다
                        dialogInterface.dismiss();  //모든 구문 실행 후 현재 다이얼 로그 닫는다
                    }
                });

                ad.setNegativeButton("취소", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialogInterface, int i) {
                        dialogInterface.dismiss();  //모든 구문 실행 후 현재 다이얼 로그 닫는다
                    }
                });
                    ad.show();   //( AlertDialog 시작되는 OnClick 끝나는 부분 직전에 이 코드를 적어준다)이 처리를 해줘야 다이얼 로그가 정상적으로 처리 해준다
            }
        });
    }

}

결과 값

 

'Programming > Android Function' 카테고리의 다른 글

Spinner 드롭다운  (0) 2023.08.05
액티비티 생명주기(Life Cycle)  (0) 2023.08.05
WebView  (0) 2023.08.04
Log 출력  (0) 2023.08.04
뒤로 가기 두번 눌러 앱 종료  (0) 2023.08.04