【发布时间】:2014-07-23 17:48:11
【问题描述】:
标题中描述的情况。
这里的最小示例代码:
public class FrgData extends Fragment {
private View rootView;
private DataAdapter dataAdapter;
public FrgData() {
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
rootView = inflater.inflate(R.layout.data, container, false);
ListView dataListView = (ListView)rootView.findViewById(R.id.Data);
dataAdapter = new DataAdapter(getActivity().getBaseContext(), R.layout.data_item);
dataListView.setAdapter(dataAdapter);
for (int i = 0; i < 40; i++) {
dataAdapter.add(new tData());
}
return rootView;
}
private class DataAdapter extends ArrayAdapter<tData> {
public DataAdapter(Context context, int id) {
super(context, id);
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View v = convertView;
if (v == null) {
v = LayoutInflater.from(getContext()).inflate(R.layout.data_item, null);
}
return v;
}
}
}
"tData" 是一个 ArrayList。
“data_item”是水平线性布局内的简单数字 EditText。
这种行为完全不稳定。 EditTexts 被完美地创建。问题是如果我选择一个,键盘首先不是“数字”,而是字母数字。如果我选择另一个,键盘会神奇地变为“数字”,但光标是不可见的。不过我可以打字。退出键盘时,数字要么消失,要么在下面的其他 EditText 中重复!这些副本似乎以相等的间隔(8 或 12)出现,所以我怀疑这与(或缺乏)适当的初始化有关。 我无法弄清楚我的错误。
【问题讨论】:
-
当我将计数从 40 减少到 4 时它可以工作。5 它不会。这是当我注意到 4 行键盘不与列表重叠的时候。 5 就可以了。然后我删除了列表上方的一些描述文本。现在有了更多的空间,它甚至可以使用 5 行......这到底是什么?这是Android中的错误吗???
-
键盘与列表重叠后不久,被点击的EditText失去焦点,键盘变为字母数字...
-
有人有想法吗?
标签: listview arraylist android-edittext fragment android-arrayadapter