안드로이드 자바

[JAVA][Android] EditText Text변화

teamnova 2021. 9. 18. 12:00
728x90

EditText에 Text가 한글자라도 입력이 되면 버튼이 보여지고

입력이 되지 않으면 버튼이 보여지지 않는 것을 구현해 보겠습니다.

채팅창에서 글자를 입력하면 전송하는 버튼이 활성화 되어 메세지를 전송가능하게 할 때 사용이 많이 되는 것 같습니다.

 

addTextChangedListener 메서드를 활용하여 입력되는 텍스트에 변화가 있을 때마다 리스너 이벤트가 작동하게 합니다.

 

1. MainActivity.java

스틱코드를 사용하여 만들어 놓은 코드를 입력합니다. -> 아래쪽에 방법을 알려드릴게요~~!!

버튼이름과 입력하는 곳 이름을 수정합시다.

입력하기 전(beforeTextChanged) : 전송버튼이 보이지 않게

입력란에 변화가 있을 때(onTextChanged) : 전송버튼이 보이게

입력이 끝났을 때(afterTextChanged) : 아무 변화없음

 

2. activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<androidx.appcompat.widget.LinearLayoutCompat 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"
    tools:context=".MainActivity">

    <LinearLayout
        android:id="@+id/layout1"
        android:layout_alignParentBottom="true"
        android:layout_width="match_parent"
        android:layout_height="50dp"
        android:orientation="horizontal"
        android:weightSum="10"
        >
        <EditText
            android:id="@+id/etChat"
            android:layout_width="0dp"
            android:layout_weight="8.5"
            android:layout_height="match_parent"
            android:hint="메세지를 작성하세요."
            android:gravity="center_vertical"
            android:layout_marginStart="10dp"
            android:maxHeight="84dp"
            android:maxLines="5"
            android:minLines="1">
        </EditText>
        <Button
            android:id="@+id/btnChatSubmit"
            android:layout_width="0dp"
            android:layout_weight="1.5"
            android:layout_height="wrap_content"
            android:background="#00ff0000"
            android:text="전송"
            android:textColor="@color/red"
            android:visibility="gone">
        </Button>
    </LinearLayout>

</androidx.appcompat.widget.LinearLayoutCompat>

 

 

** 스틱코드에 코드 등록하기**

https://stickode.com/howto.html#jetbrains_installation

 

Stickode overview - Help

 

stickode.com

 

 

4.

재시작 하면 우측에 사이드바가 보여집니다. 여기에서 언어를 선택하고 내가 검색할 키워드로 이름을 설정합니다.

그리고 상단코드에는 import가 될 코드들을 써주고 

소스코드에는 내가 불러올 코드들을 넣어줍니다.

필요 시 태그를 추가해 주고 업로드를 해 주면 저처럼

이렇게만 입력해도 내가 저장한 코드가 나옵니다.

 

여러분들도 자주쓰게 되는 코드가 있다면 스틱코드를 활용하여 저장해 놓고 편리하게 사용해 보세요!

 

스틱코드 회원가입하러가기

https://stickode.com/signup.html

 

스틱코드 회원가입 - Stickode

스틱코드에 회원가입해서 전세계 개발자들의 생산성 높은 코드를 사용하세요!

stickode.com

 


<결과>

1. text가 입력되지 않았을 때

2. text가 입력되었을 때