ヘッダーとフッターを含むListViewがあります。ヘッダー-EditTextsとSpinnersのセットを備えた長いScrollViewです。フッターには2つのボタンがあります。EditTextの1つをクリックし、その後フッターのボタンをクリックしても起動しません。別のヘッダーの要素をクリックすると、フッターのボタンハンドラーの結果が表示されます。このEditTextをクリックしないと、フッターのボタンが正しく機能します。私のEditText:
<EditText
android:id="@+id/orderTitle"
android:layout_width="250dp"
android:layout_height="wrap_content"
android:layout_below="@+id/levelSpin"
android:layout_marginTop="30dp"
android:text="Order title(specify)"
android:gravity="center_vertical|center_horizontal" />
editTextをクリックするとフッタービューの焦点がぼけてしまうという問題があると思います。だから私は私のボタンのsetOnClickListenerでこのようにしようとしました:
btnSubmitOrder.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
footer.setFocusableInTouchMode(true);
deadline.setFocusable(false);
orderTitle.setFocusable(false);
header.clearFocus();
btnSubmitOrder.setFocusable(true);
Log.i("new order button","fires");
boolean errorFlag = false;
}
});
しかし、それは役に立ちません。私もこれを好きにしようとしました:
orderTitle.setOnEditorActionListener(new OnEditorActionListener() {
public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
if (actionId == EditorInfo.IME_ACTION_DONE) {
orderTitle.setFocusable(false);
Log.i("onEditorAction","yeah");
}
Log.i("onEditorAction","yeah");
return false;
}
});
ユーザーのアクションが終了したときにこのEditTextのフォーカスを外しますが、それも役に立ちませんでした。この問題を解決するにはどうすればよいですか?