0
我在EdiText中設置焦點時遇到問題。以下是我的EditText屬性。Android EditText焦點問題
<EditText
android:id="@+id/gatekeeperDetailedtUnitNo"
android:layout_width="270dip"
android:layout_height="wrap_content"
android:layout_below="@id/gatekeeperDetailtxtUnitNo"
android:layout_marginTop="10dip"
android:hint="@string/unit_number"
android:inputType="number"
android:maxLength="8"
android:lines="1" />
現在我在6位數之後加了' - '。爲此我已經實現了TextWatcher。
edtUnitNo.addTextChangedListener(new TextWatcher() {
/**
* This method is used to change charSequence when user enter more
* then 6 character.
*/
public void onTextChanged(CharSequence s, int start, int before,
int count) {
if (count < 7) {
if (s.toString().contains("-")) {
Log.e(TAG, "< 7 Called");
String[] st1;
st1 = s.toString().split("-");
String st2 = st1[0];
edtUnitNo.setText(st2);
edtUnitNo.requestFocus();
edtUnitNo.requestFocus(EditText.FOCUS_RIGHT);
}
}
if (edtUnitNo.getText().toString().length() == 7) {
Log.e(TAG, "== 7 Called");
String s1 = edtUnitNo.getText().toString();
String s2 = s1.substring(0, 6);
char s3 = s.charAt(6);
edtUnitNo.setText(s2 + "-" + s3);
}
}
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {
}
public void afterTextChanged(Editable s) {
}
});
例如,我的EditText值看起來像「123456-7」。 我在添加7位數字和' - '時遇到了問題。當我試圖刪除最後一個字符'7'時,焦點到達第0個位置。
但我想把焦點放在最後刪除的字符位置(6之後)。
重點是什麼?或者你想讓光標(選擇)在特定的字符索引? – user370305
是的,我想在刪除最後一個字符後將光標放在最後一個位置。 –