我的屏幕上有2 EditText
个。第一个工作正常,但第二个没有。我点击第一个EditText
并输入文字。但是点击第二个EditText
,任何输入都会继续显示在第一个EditText
。
关于该主题的其他问题,有人谈到使用setFocus
和onClick
字段的EditText
听众。这是对的吗?
我有另一个应用程序,它有多个EditText
个屏幕,从来没有这样做过。
这是我目前的XML:
<TextView
android:id="@+id/namLabel"
android:layout_alignParentLeft="true"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/name" />
<EditText
android:id="@+id/namTxt"
android:layout_below="@id/namLabel"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:minWidth="200sp" />
<TextView
android:id="@+id/numLabel"
android:layout_alignParentLeft="true"
android:layout_below="@id/namTxt"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingTop="20sp"
android:paddingRight="10sp"
android:text="@string/units" />
<EditText
android:id="@+id/numTxt"
android:layout_toRightOf="@id/numLabel"
android:layout_alignBaseline="@id/numLabel"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:inputType="numberDecimal"
android:minWidth="50sp" />
这是我在onCreate
中的所有相关代码:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_new_game);
namText = (EditText) findViewById(R.id.namTxt);
numText = (EditText) findViewById(R.id.numTxt);
请不要告诉我必须为这些字段添加onClickListeners
的整个负载?
答案 0 :(得分:1)
我发现了问题。我只需要将setFocusableInTouchMode
添加到EditText的两个:
android:focusableInTouchMode="true"
我在上一个应用程序中没有这样做,所以不知道我为什么要这么做。
答案 1 :(得分:0)
您无需添加任何侦听器或setFocus。我看到的唯一“奇怪”的事情是你没有将你的xml包装在RelativeLayout中。它应该工作得很好,只是测试它。