私はアダプターを書いています
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal" >
...
<EditText
android:id="@+id/weight"
android:layout_width="55dp"
android:layout_height="wrap_content"
android:layout_marginRight="15dp"
android:ems="10"
android:inputType="number"
android:textSize="14sp" >
</EditText>
...
</LinearLayout>
そしてそれを私のリストに追加しました。アダプターでは、以下のコードのように EditText を重み付けするために textWatcher を追加しました
holder.weight.addTextChangedListener(new TextWatcher() {
@Override
public void onTextChanged(CharSequence s, int start, int before,
int count) {
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {
}
@Override
public void afterTextChanged(Editable s) {
if (s.length() != 0)
try {
// ...
} catch (IndexOutOfBoundsException e) {
Log.e(TAG, e.toString());
}
}
});
しかし、リストの行を選択して EditText の数値を変更すると、EditText とキーボードがデフォルトとして設定され、EditText をもう一度選択すると、すべてがうまく機能します。フォーカスがジャンプしないように修正するにはどうすればよいですか?