我有一个 ListView,使用 BaseAdapter
填充。
在 ListView 项目中有一个数字 EditText:
...
<EditText
android:id="@+id/edit_quantita"
android:layout_width="50dp"
android:layout_height="30dp"
android:layout_gravity="center"
android:layout_marginTop="5dp"
android:background="@drawable/edit_quantita"
android:gravity="center_vertical|center_horizontal"
android:inputType="number"
android:text="1"
android:textColor="#fff"
tools:ignore="HardcodedText" >
</EditText>
...
当我点击此 EditText 时,数字键盘会提示一瞬间,然后突然被常规字符键盘覆盖。如果我尝试在这个键盘上写东西,任何地方都不会显示任何文字。 奇怪的是,如果我再次点击 Edittext,它会正常运行,只显示可用的数字键盘。
我能做什么?
最佳答案
EditText
的实现在ListView
中使用时有很多缺陷。尝试在您的 onCreate()
中添加这段代码:
int apiVersion = android.os.Build.VERSION.SDK_INT;
if (apiVersion >= android.os.Build.VERSION_CODES.ICE_CREAM_SANDWICH)
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN);
else
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);
关于android - ListView BaseAdapter 中的 EditText 奇怪行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21905567/