我在我的應用程序中有五個編輯文本。我也有兩個按鈕叫做「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. 當我選擇一個選項時,如何編輯文本?
- 2. 在氚中,我如何選擇上一個/下一個元素?
- 3. 如何在TreeView中選擇「下一個/上一個TreeViewItem」?
- 4. UITabBarItem和選擇其中一個視圖
- 5. 在另一個視圖頁上編輯一個模型 - ASP.NET MVC
- 6. 如何使用textview和微調和編輯文本做一個列表視圖
- 7. 如何停止從下一個文本視圖跳到下一個文本框?
- 8. 在一個視圖中的UI UI選擇器視圖干擾每個UI選擇器的文本視圖
- 9. 除非在這個編輯文件中選擇一個上傳文件
- 10. 編輯時在下拉菜單中選擇一個值
- 11. 如何在數字選擇器中隱藏上一個和下一個數字?
- 12. Rails在同一個視圖上創建和編輯
- 13. 如何編輯jquery datepicker上一個/下一個按鈕的css?
- 14. 如何創建一個包含編輯文本和按鈕的視圖?
- 15. 如何在wpf DataGrid中選擇第一/上一個/下一個/最後一行
- 16. 從一個打開的視圖中更新文本在從一個視圖中選擇一些從SWIFT 3
- 17. 當選擇編輯文本時向上推視圖
- 18. 如何在列表視圖中選擇一行只按下一個ImageView
- 19. 如何在動態視圖中只選擇一個複選框
- 20. 如何從視圖組中選擇一個特定視圖?
- 21. 在一個視圖上使用多個圖像選擇器
- 22. 如何從一個包含在一個XIB文件中的3個選擇中加載一個視圖?
- 23. 如何在一個文本視圖中顯示多個編輯文本字段的內容?
- 24. 如何在Eclipse編輯器中更改上一個/下一個字導航?
- 25. 如何處理日期選擇器中的下一個和上一個按鈕
- 26. 如何根據日期從表中選擇上一個和下一個事件
- 27. 在編輯模式下選擇一個UITableViewCell
- 28. swing中相同數據的兩個視圖,一個在JTable中,另一個在可編輯文本中
- 29. 我如何在iphone上的一個標籤下有一個視圖和一個子視圖?
- 30. 打開一個文本框上選擇一個單選按鈕
你不能用** requestFocus()方法* * – ngesh 2012-03-19 11:09:20
您的意思是您想要在對應的按鈕被觸摸時將焦點從一個EditText更改爲下一個/上一個? – 2012-03-19 11:10:36
@ sandy-感謝您的建議。以上是我的示例應用程序,在我的實際項目中,有近50個編輯文本字段,因此每個字段的請求焦點非常複雜。有沒有簡單的方法來做到這一點。 – Sniper 2012-03-19 11:16:56