8
我有一個ListView,每行有一個EditText(除了一對不可編輯的TextView)。當我編輯EditText中的文本時,軟鍵盤上有「Next」按鈕 - 然後按下它將焦點移到下一個字段 - 這非常棒。在最後一行,該按鈕變爲「完成」。listview with edittext - 自動滾動「next」
我使用EditText.setImeOptions
根據這是否是最後一行將按鈕設置爲「完成」或「下一步」。
問題是,listview可以有更多的行可以放在屏幕上。當發生這種情況時,在下一個可見行上按下「下一步」將焦點再次移動到第一行。我怎樣才能讓它滾動列表並轉到下一行呢?
以供參考,這是我在我的適配器正在做:
public class AuditAdapter extends BaseAdapter {
private Context context;
private int layoutResourceId;
private Audit audit;
...
@Override
public View getView(final int position, View convertView, ViewGroup parent) {
View row = convertView;
final AuditItemHolder holder = (row == null ? new AuditItemHolder() : (AuditItemHolder)row.getTag());
if(row == null)
{
LayoutInflater inflater = ...;
row = inflater.inflate(layoutResourceId, parent, false);
...
holder.qtyf = (EditText)row.findViewById(R.id.item_quantity);
}
AuditItem item = audit.getItemAt(position);
holder.qtyf.setText("" + item.getQuantity());
holder.qtyf.setImeOptions(position == audit.size() - 1 ? EditorInfo.IME_ACTION_DONE : EditorInfo.IME_ACTION_NEXT);
...
row.setTag(holder);
return row;
}
private static class AuditItemHolder {
...
EditText qtyf;
}
}
已工作... Thnax。 – 2015-10-30 12:48:22