본문 바로가기
TIL/Android

[Android] 에디트 텍스트(Edit Text) 속성, 속성 값

by 왁왁s 2022. 10. 5.

에디트 텍스트(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" />

 


 

댓글