我有一个包含ListView
的视图<ListView
android:id="@+id/products_list"
android:layout_width="match_parent"
android:descendantFocusability="afterDescendants"
android:layout_height="0dp"
android:layout_weight="1" />
每一行都有一些图像,文本和EditText。 我在EditTexts中获得了获得/失去焦点的功能,但是我有问题,当我进入视图,然后单击一些EditText。始终第一次单击任何EditText会将焦点从单击的焦点更改为列表中的第一个。
我对此视图的持有者已实施方法:
@Override
public void bindValues(CatalogsProducts item) {
note.addTextChangedListener(this);
note.setOnFocusChangeListener(this);
}
@Override
public void onFocusChange(View v, boolean hasFocus) {
if(v instanceof EditText && !hasFocus) {
if(item != null && !TextUtils.isEmpty(note.getText().toString())) {
item.setCertainNote(note.getText().toString());
}
}
}
@Override
public void afterTextChanged(Editable s) {
item.setCertainNote(s.toString());
}
任何想法如何不从第一次点击的EditText中失去焦点?
答案 0 :(得分:2)
在布局XML中:
<ListView
android:id="@+id/products_list"
android:layout_height="0dp"
android:layout_weight="1"
android:layout_width="fill_parent"
android:descendantFocusability="beforeDescendants"
/>
在Mainfest.xml中:
<activity android:name= ".yourActivity" android:windowSoftInputMode="adjustPan"/>
希望这能帮到你!!