Android寫一個實(shí)時輸入框功能
我們在做安卓項(xiàng)目時通常都會對Android的 EditText輸入框的內(nèi)容實(shí)時監(jiān)聽,這里我們就做一個實(shí)時監(jiān)聽框,EditText實(shí)時輸入,而TextView實(shí)現(xiàn)實(shí)時顯示。話不多說,直接上效果圖:


以下是代碼
配置文件activity_main.xml
<?xml version='1.0' encoding='utf-8'?><androidx.constraintlayout.widget.ConstraintLayout 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:layout_width='match_parent' android:layout_height='match_parent' android:orientation='vertical'> <TextView android:layout_weight='1' android:layout_width='match_parent' android:layout_height='0dp' android: android:text='你好' android:textSize='20dp' android:textColor='@android:color/holo_red_light' android:gravity='center'/> <EditText android:layout_weight='3' android: android:layout_width='match_parent' android:layout_height='0dp' android:textSize='20sp' android:hint='點(diǎn)擊輸入' android:textColorHint='@android:color/holo_blue_bright' android:background='@null'/> <TextView android:layout_weight='3' android:background='@android:color/holo_blue_light' android: android:layout_width='match_parent' android:layout_height='0dp' android:textSize='30sp'/> </LinearLayout></androidx.constraintlayout.widget.ConstraintLayout>
java文件MainActivity.java:
package com.shiyan.realtimetext;import androidx.appcompat.app.AppCompatActivity;import android.os.Bundle;import android.text.Editable;import android.text.TextWatcher;import android.util.Log;import android.widget.EditText;import android.widget.TextView;public class MainActivity extends AppCompatActivity { private TextView output; private EditText input; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); input=findViewById(R.id.input); output=findViewById(R.id.output); input.addTextChangedListener(new Watcher()); } private class Watcher implements TextWatcher { @Override public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) { } @Override public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) { output.setText(charSequence); } @Override public void afterTextChanged(Editable editable) { } }}
小牢騷:
最開始我還沒有百度過實(shí)時輸入框這個東西,然后就自己悶頭做。我的想法是通過開辟一個子線程來實(shí)現(xiàn)監(jiān)聽,然后將這個在EditTex找到id之后就開始運(yùn)行,發(fā)現(xiàn)只要文本框一輸入就開始報(bào)錯或者已進(jìn)入程序就來個白屏。最后再度娘的幫助下成功脫困。
下面看下android 輸入框?qū)崟r監(jiān)聽
editText.addTextChangedListener(new TextWatcher() { @Overridepublic void onTextChanged(CharSequence s, int start, int before, int count) { Log.e(TAG, '輸入文字中的狀態(tài),count是輸入字符數(shù)'); Log.e(TAG, editText.getText());}@Overridepublic void beforeTextChanged(CharSequence s, int start, int count, int after) { Log.e(TAG, '輸入文本之前的狀態(tài)');}@Overridepublic void afterTextChanged(Editable s) { Log.e(TAG, '輸入文字后的狀態(tài)');} });
總結(jié)
到此這篇關(guān)于Android寫一個實(shí)時輸入框的文章就介紹到這了,更多相關(guān)android 實(shí)時輸入框內(nèi)容請搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!
相關(guān)文章:
1. 詳解Android studio 動態(tài)fragment的用法2. Android如何加載Base64編碼格式圖片3. 解決Android studio xml界面無法預(yù)覽問題4. 圖文詳解vue中proto文件的函數(shù)調(diào)用5. 什么是python的自省6. Spring Boot和Thymeleaf整合結(jié)合JPA實(shí)現(xiàn)分頁效果(實(shí)例代碼)7. Vuex localStorage的具體使用8. php模擬實(shí)現(xiàn)斗地主發(fā)牌9. vue 使用localstorage實(shí)現(xiàn)面包屑的操作10. Vue封裝一個TodoList的案例與瀏覽器本地緩存的應(yīng)用實(shí)現(xiàn)

網(wǎng)公網(wǎng)安備