![](/img/trans.png)
[英]Edit Text in ListActivity ListView loses focus when keyboard comes up
[英]When i focus on edit text with numeric input type, standart qwerty keyboard pops up
我已经这样设置了EditText
字段:
<EditText
android:inputType="number"
android:layout_width="130dp"
android:layout_height="wrap_content"
android:id="@+id/editText" android:layout_gravity="center"
/>
当我单击该Edittext
,会显示正确的数字输入键盘,但立即将其替换为标准键盘。 如果再次单击,则会出现数字键盘,并且不会被标准键盘取代。 如果这会影响任何因素,则会在动态生成的ListView
发生,并且会在模拟器和手机中发生(三星银河笔记)。 如何防止标准键盘出现?
这是实际的代码:
public class Delivery extends Activity {
ListView deliveryTipes;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.delivery_main);
deliveryTipes=(ListView) findViewById(R.id.tasksID);
String[] deliveryTipesList = getResources().getStringArray(R.array.tasks);
deliveryTipes.setAdapter(new ArrayAdapter<String>(this, R.layout.delivery_line,R.id.taskName, deliveryTipesList));
}
}
delivery_main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent" xmlns:android="http://schemas.android.com/apk/res/android">
<ListView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/tasksID" android:layout_gravity="center" android:padding="10dp"/>
</LinearLayout>
delivery_line.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content" android:paddingLeft="10dp" android:paddingRight="10dp">
<TextView
android:layout_width="130dp"
android:layout_height="wrap_content"
android:text="Task Name"
android:id="@+id/taskName" android:layout_gravity="left|center_vertical" android:textStyle="bold"/>
<Space
android:layout_width="50dp"
android:layout_height="fill_parent"
android:id="@+id/space"/>
<EditText
android:inputType="number"
android:layout_width="130dp"
android:layout_height="wrap_content"
android:id="@+id/editText" android:layout_gravity="center"
/>
</LinearLayout>
这种问题很烦人。 简短的故事是,默认情况下, ListView
旨在简单地显示项目,并可选地选择它们。
ListView
并不假定其子级是可聚焦的,而是自己处理焦点并触发适当的侦听器。 当您开始将可聚焦的小部件放入ListView
,事情很快就会变得疯狂。 发布实际的代码,您将有更多机会获得帮助。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.