0
点赞
收藏
分享

微信扫一扫

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


文章目录

  • ​​小结​​
  • ​​问题及解决​​
  • ​​参考​​

小结

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​​


举报

相关推荐

0 条评论