에디트 텍스트(EditText)란?
입력가능한 필드로, 텍스트 필드라고도 하는데 EditText는 TextView의 자식 클래스이다.
에디트 텍스트는 사용자가 앱에서 텍스트를 타이핑하여 입력할 수 있다.
TextView 클래스에서 상속받은 EditText 속성
속성 | 설명 |
android:autoText | 자동으로 타이핑 오류를 교정 |
android:hint | 입력 필드에 힌트로 표시되는 메시지 |
android:inputType | 입력의 종류 |
android:text | 표시되는 텍스트 |
android:singleLine | true이면 한 줄만 입력 받음 |
android:editable | 편집 가능 여부 |
android:drawableBottom | 텍스트의 아래에 표시되는 이미지 리소스 |
android:drawableRight | 텍스트의 오른쪽에 표시되는 이미지 리소스 |
에디트 텍스트에서 사용자가 입력한 텍스트를 읽어오려면 java 파일에서 getText( ),
반대로 텍스트를 쓰르면 java 파일에서 setText( )를 사용한다.
에디트 텍스트 사용 예시
MainActivity.java 파일
public class MainActivity extends AppCompatActivity {
private TextView textView;
EditText eText;
Button btn;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
eText = (EditText) findViewById(R.id.edittext);
btn = (Button) findViewById(R.id.button);
textView = (TextView) findViewById(R.id.textView);
btn.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
String str = eText.getText().toString();
textView.setText(str);
}
});
}
}
activity_main.xml 파일
<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">
<EditText
android:id="@+id/edittext"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="텍스트를 입력하세요."
android:inputType="text" />
<Button
android:id="@+id/button"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="텍스트 나타내기"/>
<TextView
android:id="@+id/textView"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
</LinearLayout>
위의 예시의 inputType은 "text"이다.
inputType에 따라 입력되는 내용을 제한할 수 있다.
inputType 속성에는 아래와 같은 값들을 지정할 수 있다.
inputType 속성 값
inputType | 설명 |
none | 편집이 불가능한 문자열 |
text | 일반적인 문자열 |
textMultiLine | 여러 줄로 입력 가능 |
textPosralAddress | 우편번호 |
textEmailAddress | 이메일 주소 |
textPassword | 패스워드 |
textVisiblePassword | 패스워드가 화면에 보임 |
number | 숫자 |
numberSigned | 부호가 붙은 숫자 |
phone | 전화번호 |
datetime | 시간 |
inputType의 text, textPassword, phone 속성 값을 활용했을 때 아래와 같다.
inputType에 따라 활성화되는 키보드 자판 배열이 다르다.
<EditText
android:id="@+id/edittext1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="아이디를 입력하세요."
android:inputType="text" />
<EditText
android:id="@+id/edittext2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="비밀번호를 입력하세요."
android:inputType="textPassword" />
<EditText
android:id="@+id/edittext3"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="전화번호를 입력하세요."
android:inputType="phone" />
'TIL > Android' 카테고리의 다른 글
[Android] 액션바 로고 아이콘 설정 + AVD 앱 타이틀 설정 / actionbar에 앱 아이콘 삽입하기 (0) | 2022.10.20 |
---|---|
[Android] 이미지 뷰(ImageView), 이미지 버튼(ImageButton) (0) | 2022.10.05 |
[Android] 계산기 앱 만들기 (0) | 2022.10.05 |
[Android] 이벤트 처리, 이벤트 리스너, 리스너 인터페이스, 콜백 메소드 (0) | 2022.10.02 |
[Android] UI, View, View클래스, id, 크기 단위, margin, padding, visibility, rotation (0) | 2022.10.02 |
[Android] Gradle(그레이들), res(리소스), layout(레이아웃), manifest(매니페스트) 정리 (0) | 2022.10.02 |
댓글