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 |
댓글