2017-07-16 47 views
0

我有2個編輯文本在同一個佈局,我希望在編輯時兩個編輯器中的一個不會自動跳轉到另一個編輯文本上。我嘗試了一切!幫幫我。刪除EditText自動對焦到鄰居EditText

此文本需要填寫textarea ..................................... XML:

<LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_marginBottom="50dp" 
     android:layout_marginTop="20dp" 
     android:orientation="horizontal" 
     android:focusable="true" 
     android:focusableInTouchMode="true"> 

     <EditText 
      android:id="@+id/editText" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:ems="10" 
      android:hint="Axis name" 
      android:inputType="textPersonName" 
      android:text="@string/NomeAsse" 
      android:textAlignment="center" 
      android:textSize="20dp" 
      android:cursorVisible="false"/> 

     <EditText 
      android:id="@+id/editText2" 
      android:layout_width="206dp" 
      android:layout_height="wrap_content" 
      android:ems="10" 
      android:hint="multiplier" 
      android:inputType="numberDecimal" 
      android:text="@string/ValoreAsse" 
      android:cursorVisible="false"/> 

     <TextView 
      android:id="@+id/nm" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_alignParentTop="true" 
      android:layout_centerHorizontal="true" 
      android:layout_weight="0.5" 
      android:text="---" 
      android:textAlignment="center" 
      android:textSize="23dp" /> 

     <TextView 
      android:id="@+id/kgm" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_alignParentTop="true" 
      android:layout_centerHorizontal="true" 
      android:layout_weight="0.5" 
      android:text="---" 
      android:textAlignment="center" 
      android:textSize="23dp" /> 

    </LinearLayout> 

回答

0

機器人沒有任何簡單的方法來跳轉到EditTexts,你必須使用addTextChangedListener和檢查長度並跳轉到其他programical

例如:

editTextOne.addTextChangedListener(new TextWatcher() { 

    public void afterTextChanged(Editable s) {} 

    public void beforeTextChanged(CharSequence s, int start, 
    int count, int after) { 
     if(s.length >4) // focuse to another editText 
    } 

    public void onTextChanged(CharSequence s, int start, 
    int before, int count) { 
    } 
    }); 
+0

感謝您的回答。此代碼不起作用,我添加clearfocus來查看這項工作。但當我插入的數字超過4個字符被刪除焦點,但鍵盤仍然存在,我希望我按下我的鍵盤上輸入我失去了重點,並不自動對其他EditText和關閉鍵盤。解決方案? – Murdok

+0

@Murdok這只是示例代碼來學習實現 –

0

我以這種方式解決。

主要活動 - >的onCreate() - >

k.setOnEditorActionListener(new TextView.OnEditorActionListener() { @Override public boolean onEditorAction(TextView textView, int i, KeyEvent keyEvent) { if(i== EditorInfo.IME_ACTION_DONE){ //Clear focus here from edittext k.clearFocus(); InputMethodManager imm = (InputMethodManager) rootView.getContext().getSystemService(Context.INPUT_METHOD_SERVICE); imm.hideSoftInputFromWindow(rootView.getWindowToken(), 0); return true; } return false; } });

其中k是的EditText。