我在我的應用程序中有五個編輯文本。我也有兩個按鈕叫做「Next」和「Previous」。現在我想選擇下一個和以前的編輯文本字段,當我點擊相應的按鈕形式動態我的視圖。有沒有辦法做到這一點。在layout.xml如何選擇下一個和上一個在視圖中編輯文本
回答
btnNext.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
int id = getCurrentFocus().getNextFocusDownId();
if(id != View.NO_ID) {
findViewById(id).requestFocus();
System.out.println("Next");
}
}
});
btnBack.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
int id = getCurrentFocus().getNextFocusUpId();
if(id != View.NO_ID) {
findViewById(id).requestFocus();
System.out.println("Back");
}
}
});
這是你必須將焦點設置在XML order
<EditText
android:id="@+id/et1"
android:nextFocusDown="@+id/et2"
android:nextFocusUp="@+id/et2"
....../>
<EditText
android:id="@+id/et2"
android:nextFocusDown="@+id/et1"
android:nextFocusUp="@+id/et1"
...../>
編輯
如果要創建視圖的動態,那麼你應該使用下面的方法來設置下一個焦點
setNextFocusDownId(id)
setNextFocusUpId(id);
我可以在XLM代碼中使用它,但我在運行時創建編輯文本,所以我不能這樣做。任何建議。 – Sniper 2012-03-19 12:26:24
我已更新我的答案 – Dharmendra 2012-03-19 12:30:14
謝謝你的工作。 – Sniper 2012-03-19 12:37:17
利用
android:nextFocusLeft
android:nextFocusRight
android:nextFocusUp
android:nextFocusDown
在EDITTEXT的屬性
。
例如android:nextFocusDown="@id/myNextEditText"
有關如何使用它,請遵循this link.
嘗試 -
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.btn_next :
if(editText1.hasFocus()){
editText2.requestFocus();
}else if(editText2.hasFocus()){
editText3.requestFocus();
}
break;
case R.id.btn_previous :
if(editText2.hasFocus()){
editText1.requestFocus();
}else if(editText3.hasFocus()){
editText2.requestFocus();
}
break;
}
}
錯誤的語法(editText1!.hasFocus())它應該是(!editText1.hasFocus())。這不會有幫助。根據你的邏輯,它只會關注edittext1和edittext2 – Dharmendra 2012-03-19 12:34:47
謝謝你讓我知道。這絕對是一個錯字(和複製粘貼)。實際上這是一個語法錯誤。編輯。 – Rajkiran 2012-03-19 12:47:14
- 1. 如何在TreeView中選擇「下一個/上一個TreeViewItem」?
- 2. UITabBarItem和選擇其中一個視圖
- 3. 在另一個視圖頁上編輯一個模型 - ASP.NET MVC
- 4. 如何停止從下一個文本視圖跳到下一個文本框?
- 5. 如何在數字選擇器中隱藏上一個和下一個數字?
- 6. 從一個打開的視圖中更新文本在從一個視圖中選擇一些從SWIFT 3
- 7. 如何創建一個包含編輯文本和按鈕的視圖?
- 8. 如何編輯jquery datepicker上一個/下一個按鈕的css?
- 9. 當選擇編輯文本時向上推視圖
- 10. 如何在列表視圖中選擇一行只按下一個ImageView
- 11. 如何從視圖組中選擇一個特定視圖?
- 12. 如何處理日期選擇器中的下一個和上一個按鈕
- 13. 如何在Eclipse編輯器中更改上一個/下一個字導航?
- 14. 在編輯模式下選擇一個UITableViewCell
- 15. swing中相同數據的兩個視圖,一個在JTable中,另一個在可編輯文本中
- 16. 我如何在iphone上的一個標籤下有一個視圖和一個子視圖?
- 17. 打開一個文本框上選擇一個單選按鈕
- 18. 所有的文本視圖都選擇當一個文本視圖選擇通過點擊監聽器在Android?
- 19. 如何在文本區域中選擇(一個或多個)行
- 20. 如何在一個文本框中選擇多個日期?
- 21. 如何選擇由多個文本列排序的上一行或下一行
- 22. 一個選擇只在列表視圖
- 23. 從視圖中選擇一個按鈕
- 24. 如何根據另一個選擇中的選擇在一個選擇中設置文本
- 25. 如何使用jQuery在文本中選擇一個選項
- 26. 用另一個文本編程替換「選擇一個」
- 27. 編輯標籤在下一個視圖很長
- 28. 是否有下一個和上一個按鈕的選擇器?
- 29. 如何在一個:collection下拉菜單/選擇文本框上設置一個默認的「選定值」?
- 30. 選擇一個文本視圖,並在同一時間更改其顏色4個文字視圖
你不能用** requestFocus()方法* * – ngesh 2012-03-19 11:09:20
您的意思是您想要在對應的按鈕被觸摸時將焦點從一個EditText更改爲下一個/上一個? – 2012-03-19 11:10:36
@ sandy-感謝您的建議。以上是我的示例應用程序,在我的實際項目中,有近50個編輯文本字段,因此每個字段的請求焦點非常複雜。有沒有簡單的方法來做到這一點。 – Sniper 2012-03-19 11:16:56