2017-04-13 72 views
0

我正在線性佈局動態添加edittext。當我開始編輯第一個編輯文本,然後按下鍵盤上的下一個按鈕時,焦點將轉到最後一個,而不是轉到第二個。這裏是我的活動代碼..動態添加EditTexts焦點從第一個到最後一個鍵盤下一個按鈕被點擊

LinearLayout layout =(LinearLayout) findViewById(R.id.activity_main); 
for (int i = 0; i < 3; i++) { 
     final View childView = this.getLayoutInflater().inflate(R.layout.tabitem, null); 
     TextView questionText = (TextView) childView.findViewById(R.id.questionId); 
     EditText editText = (EditText) childView.findViewById(R.id.enterAnswerTextId); 

     questionText.setText("Whats up"); 
     layout.addView(childView); 
     childView.setTag(i); 
    } 

活動只是一個線性佈局。和我膨脹

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:orientation="vertical" android:layout_width="match_parent" 
android:layout_height="match_parent"> 


<LinearLayout 
    android:layout_width="match_parent" 
    android:id="@+id/separatorId" 
    android:orientation="horizontal" 
    android:layout_height="1dp" 
    /> 

<TextView 
    android:layout_width="wrap_content" 
    android:id="@+id/questionId" 
    android:layout_height="wrap_content" 
    android:paddingLeft="20dp" 
    android:paddingTop="20dp" 
    android:paddingBottom="15dp" 
    /> 

<RelativeLayout 
    android:id="@+id/enterAnswerLayoutId" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    > 

    <EditText 
     android:id="@+id/enterAnswerTextId" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_marginRight="20dp" 
     android:layout_marginLeft="20dp" 
     android:maxLines="1" 
     android:layout_centerHorizontal="true" 
     android:inputType="textPassword" 
     android:hint="Enter Answer" 
     android:padding="20dp" 
     android:imeOptions="actionNext|actionDone"/> 

</RelativeLayout> 

回答

0
設置ID

通過這樣做解決了這個問題

editText.setImeOptions(EditorInfo.IME_ACTION_NEXT); 
0

的標籤項目佈局應定義到何處尋找下一個焦點

editText.setNextFocusForwardId(R.id.secondView); 

,你也可以用這種方式

view.setId(/*some unique integer as id*/) 
+0

我正在動態添加edittext,所以沒有唯一的ID爲所有edittext – user1401232

+0

您可以使用view.setId(); –

相關問題