标题中描述的情况。
这里的最小示例代码:
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”是水平LinearLayout中的简单数字EditText。
这种行为完全不稳定。 EditTexts完美创建。问题是,如果我选择一个,键盘首先不是“数字”,而是字母数字。如果我选择另一个,键盘会神奇地改为“数字”,但光标是不可见的。不过我可以输入。退出键盘时,数字在下面的其他EditTexts中消失或重复!这些副本似乎以相等的间隔(8或12)出现,所以我怀疑这与正确的初始化有关(或缺乏)。 我无法弄清楚我的错误。
答案 0 :(得分:0)
我目前的“解决方案”是手动(!)添加40行。我现在工作,虽然这是一个非常丑陋的情况。每行需要3个EditTexts和一个SeekBar。整个片段现在有160个控件...... 我想知道是否有更好的方法?用户在编辑其中时需要概述所有其他设置。