有关Android的TextView组件的几个问题

博客围绕Android的TextView组件展开,指出其与EditText类似但理论上只读,尝试让其弹出SetError提示且不弹出软键盘。还介绍了让TextView不弹出软键盘、看不到焦点光标以及使SetError提示正常显示的属性设置和程序操作,最后给出XML设置示例并列出参考来源。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

小结

TextView组件与EditText类似,但有一些不同,理论上TextView是只读的。尝试了让TextView组件可以弹出SetError的提示信息,只读,并不能弹出Android软键盘。

问题及解决

如果需要将TextView组件不能弹出Android软键盘,并看不到焦点光标,需要设置以下几个属性:
android:cursorVisible="false"
android:windowSoftInputMode="stateHidden"
也可以在程序中调用setShowSoftInputOnFocus(false);函数。

另外,如果想要TextView组件SetError的提示信息能够正常显示,需要设置以下几个属性:
android:focusable="true"
android:focusableInTouchMode="true"

并在程序中进行操作,需要调用requestFocus(),再调用SetError(),如下:

 test_TextView.requestFocus();
 test_TextView.setError("Error Message Pop up!");

最后,TextView的XML设置如下示例:

        <TextView
            android:id="@+id/test_TextView"
            style="@style/AppTheme.InputTextViewDropdown"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="0.6"
            android:focusable="true"
            android:focusableInTouchMode="true"
            android:cursorVisible="false"
            android:windowSoftInputMode="stateHidden"
            android:hint="@string/test_TextView"
            android:inputType="text|numberDecimal"
            tools:text="13.1" />

参考

Stackoverflow: Prevent the keyboard from displaying on activity start
Stackoverflow: Android: Force EditText to remove focus? [duplicate]
Stackoverflow: Disable keyboard on EditText
Stackoverflow: Android setError(“error”) not working in Textview
Stackoverlfow: AutoCompleteTextView setError

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值