Programming Language/Android Programming
대화상자[입력]
1. 레이아웃 만들기
1) activity_main.xml 설정
▶ res-layout 우클릭 -> New - Layout resource file
▶ File name에 xml파일의 이름을 지정하고 OK를 누른다.
▶ TextView와 Button을 이용해서 Activity_Main.xml을 설정한다.
2) MainActivity.java
package com.example.d4tai1.pro20181022a_2; import android.content.DialogInterface; import android.support.v7.app.AlertDialog; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.TextView; public class MainActivity extends AppCompatActivity { TextView tvName, tvEmail; Button btnDialog; View dlgView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); tvName = (TextView)findViewById(R.id.tvName); tvEmail = (TextView)findViewById(R.id.tvEmail); btnDialog = (Button)findViewById(R.id.button1); btnDialog.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { dlgView = View.inflate(MainActivity.this, R.layout.dialog1, null); //가지고 들어온다.(가지고 들어올 곳, 이 뷰에 가지고 들어올 xml파일, 뷰그룹) AlertDialog.Builder dlg = new AlertDialog.Builder(MainActivity.this); dlg.setView(dlgView); dlg.setIcon(R.drawable.ic_launcher_background); dlg.setTitle("사용자 정보 입력"); dlg.setMessage("사용자 정보 입니다."); dlg.setPositiveButton("확인", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { EditText edtName = (EditText)dlgView.findViewById(R.id.edtDlg1); EditText edtEmail = (EditText)dlgView.findViewById(R.id.edtDlg2); //그냥 findViewById()를 하게되면 엑티비티메인의 것을 가져오는 것을 말하기 때문에 tvName.setText(edtName.getText().toString()); tvEmail.setText(edtEmail.getText().toString()); } }); dlg.show(); } }); } }
3) 시연
▶ 입력 후 확인을 누르면 Activity_Main.xml의 TextView 2개가 변경되어 출력됨을 확인할 수 있다.
'Programming Language > Android Programming' 카테고리의 다른 글
일기장 제작 (0) | 2018.11.05 |
---|---|
내장메모리 접근 (0) | 2018.11.05 |
대화상자[라디오] (0) | 2018.10.27 |
메세지 띄우기 (0) | 2018.10.09 |
다중메뉴 (0) | 2018.10.09 |
댓글