고객 정보 입력 화면을 만들어 보세요.
이 화면은 고객의 이름, 나이, 생년월일을 입력받기 위한 것으로 이름은 텍스트, 나이는 숫자로 표시합니다.
<?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" android:orientation="vertical" tools:context=".MainActivity"> <LinearLayout android:id="@+id/titleLayout" android:layout_width="match_parent" android:layout_height="wrap_content" android:background="#BC4300FD"> <TextView android:id="@+id/Title" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_margin="20dp" android:text="고객정보 입력" android:textColor="#ffffff" android:textSize="25sp" android:textStyle="bold" /> </LinearLayout> <androidx.fragment.app.FragmentContainerView android:id="@+id/fragmentContainerView" android:name="com.study.doit.fragment_userInfo" android:layout_width="match_parent" android:layout_height="wrap_content" /> </LinearLayout>
<?xml version="1.0" encoding="utf-8"?> <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".fragment_userInfo"> <LinearLayout android:id="@+id/txtLogin" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_margin="40dp" android:layout_gravity="center_horizontal" android:orientation="vertical"> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginRight="10dp" android:text="이 름" android:textSize="16sp" android:textStyle="bold" android:layout_gravity="center"/> <EditText android:id="@+id/edtName" android:layout_width="150dp" android:layout_height="35dp" android:layout_margin="5dp" android:paddingLeft="10dp" android:paddingRight="10dp" android:textSize="15sp" android:hint="홍길동" android:inputType="text" android:singleLine="true" android:maxLength="16" android:background="@drawable/edittext_draw"/> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginRight="10dp" android:text="나 이" android:textStyle="bold" android:textSize="16sp" android:layout_gravity="center"/> <EditText android:id="@+id/edtAge" android:layout_width="80dp" android:layout_height="35dp" android:layout_margin="5dp" android:paddingLeft="10dp" android:paddingRight="10dp" android:textSize="15sp" android:hint="나이" android:inputType="number" android:singleLine="true" android:maxLength="3" android:background="@drawable/edittext_draw"/> </LinearLayout> <Button android:id="@+id/btnDoB" android:layout_width="200dp" android:layout_height="35dp" android:layout_margin="5dp" android:layout_gravity="center" android:paddingLeft="10dp" android:paddingRight="10dp" android:textSize="15sp" android:hint="생년월일" android:background="@drawable/edittext_draw"/> <Button android:id="@+id/btnSave" android:layout_width="100dp" android:layout_height="40dp" android:layout_marginTop="10dp" android:layout_gravity="center" android:textStyle="bold" android:text="저 장" android:textSize="15sp" android:textColor="#FFFFFF" android:background="@drawable/button_draw2"/> </LinearLayout> </FrameLayout>
package com.study.doit; import androidx.appcompat.app.AppCompatActivity; import android.os.Bundle; public class MainActivity extends AppCompatActivity { private static final String TAG = "MainActivity"; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } }
package com.study.doit; import android.app.DatePickerDialog; import android.app.Dialog; import android.os.Bundle; import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.fragment.app.Fragment; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.view.Window; import android.widget.Button; import android.widget.DatePicker; import android.widget.EditText; import android.widget.Spinner; import android.widget.Toast; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; import java.util.Locale; public class fragment_userInfo extends Fragment { @NonNull @Override public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle saveInstanceState) { ViewGroup rootView = (ViewGroup) inflater.inflate(R.layout.fragment_user_info, container, false); Button btnDoB = rootView.findViewById(R.id.btnDoB); Button btnSave = rootView.findViewById(R.id.btnSave); Calendar calendar = Calendar.getInstance(); Date currentDate = Calendar.getInstance().getTime(); btnDoB.setText(new SimpleDateFormat("yyyy/MM/dd", Locale.getDefault()).format(currentDate)); DatePickerDialog.OnDateSetListener dpDialog = new DatePickerDialog.OnDateSetListener() { @Override public void onDateSet(DatePicker datePicker, int year, int month, int day) { calendar.set(Calendar.YEAR, year); calendar.set(Calendar.MONDAY, month); calendar.set(Calendar.DAY_OF_MONTH, day); updateDate(); } private void updateDate() { String birth = "YYYY/MM/dd"; SimpleDateFormat sdf = new SimpleDateFormat(birth, Locale.KOREA); Button btnDoB = rootView.findViewById(R.id.btnDoB); btnDoB.setText(sdf.format(calendar.getTime())); } }; btnDoB.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { new DatePickerDialog(getContext(),android.R.style.Theme_Holo_Light_Dialog_NoActionBar, dpDialog,calendar.get(Calendar.YEAR), calendar.get(Calendar.MONTH), calendar.get(Calendar.DAY_OF_MONTH)).show(); } }); btnSave.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { EditText edtName, edtAge; edtName = rootView.findViewById(R.id.edtName); edtAge = rootView.findViewById(R.id.edtAge); String name = edtName.getText().toString(); String age = edtAge.getText().toString(); String date = btnDoB.getText().toString(); if(name.replace(" ", "").equals("") || age.replace(" ", "").equals("")) { Toast.makeText(getContext(), "정보를 입력해주세요.", Toast.LENGTH_SHORT).show(); } else { Toast.makeText(getContext(), "이름 : " + name + "/ 나이 : " + age + " / " + date, Toast.LENGTH_SHORT).show(); } } }); return rootView; } }
ViewGroup
객체에 inflate를 이용하여 내가 나타내고자하는 프래그먼트 파일을 지정하여 인플레이션한다.public class fragment_userInfo extends Fragment {
@NonNull
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle saveInstanceState) {
ViewGroup 객체명 = (ViewGroup) inflater.inflate(R.layout.xml파일명, container, false);
// (Layout뷰 객체명.inflate( 인플레이션 할 레이아웃 (프래그먼트), 프래그먼트가 넣어질 부모 레이아웃, 바로 실행 여부);
// 그 후 원하는 코드를 작성.
return 객체명;
// 코드가 다 실행되고 난 화면을 부모 레이아웃에 리턴.
}