解決通過檢查如何下一個可選擇的由鍵盤從this blog post發現,通過繼承EditText
:
import android.content.Context;
import android.util.AttributeSet;
import android.view.View;
import android.widget.EditText;
public class MyEditText extends EditText {
public MyEditText(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
}
public MyEditText(Context context, AttributeSet attrs) {
super(context, attrs);
}
public MyEditText(Context context) {
super(context);
}
@Override
public View focusSearch(int direction) {
View v = super.focusSearch(direction);
if (v != null) {
if (v.isEnabled()) {
return v;
} else {
// keep searching
return v.focusSearch(direction);
}
}
return v;
}
}
更多細節:
ViewGroup
實施focusSearch()
使用FocusFinder,這將調用addFocusables()
。 ViewGroup
的可見性實現測試,而View
實現測試可聚焦性。既不測試啓用狀態,這就是爲什麼我將此測試添加到上面的MyEditText
。
可能的重複[移到另一個EditText當軟鍵盤下一個在Android上點擊](https://stackoverflow.com/questions/17989733/move-to-another-edittext-when-soft-keyboard-next-is在Android上點擊) –