android - ListView BaseAdapter 中的 EditText 奇怪行为

标签 android android-listview android-edittext baseadapter

我有一个 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/

相关文章:

android - 为什么不是我的 editText.requestFocus();在职的?

android - 使用 android.hardware.Camera2 进行人脸检测

java - 让我的类(class)进行争论

android - 滑动切换选项卡选择

android - 如何处理对 listView 行的点击,同时可能会调用 notifyDataSetChanged?

android - 如何让ListView Adapter中的OnClick调用Activity函数

java - Android:使用 KML 文件和地理位置检测国家/地区

android - ListView onItemLongClickListener 无法正常工作

Android EditText Gmail 喜欢字段

java - 如果第一个字符为零,如何删除第一个字符 |安卓|文本观察器