使用Android动态添加其他项目时防止ListView项目刷新
我正在使用BaseAdapter绑定自定义ListView。我正在动态添加项目。每个项目都包含TextView、EditText和微调器。它工作得很好。但现在的问题是,若用户从微调器中选择任何值,在EditText中添加一些数据,然后若他/她添加新项,那个么它将清除已填充数据的所有值。 因此,我想在添加新项目时阻止对已添加项目的刷新。如何做到这一点? 我的代码:使用Android动态添加其他项目时防止ListView项目刷新,android,listview,baseadapter,Android,Listview,Baseadapter,我正在使用BaseAdapter绑定自定义ListView。我正在动态添加项目。每个项目都包含TextView、EditText和微调器。它工作得很好。但现在的问题是,若用户从微调器中选择任何值,在EditText中添加一些数据,然后若他/她添加新项,那个么它将清除已填充数据的所有值。 因此,我想在添加新项目时阻止对已添加项目的刷新。如何做到这一点? 我的代码: 尝试删除ifconvertView==null检查。我已经尝试过了,但没有效果。您可以扩展模型以容纳未保存的数据,或者将其存储在其他适
尝试删除ifconvertView==null检查。我已经尝试过了,但没有效果。您可以扩展模型以容纳未保存的数据,或者将其存储在其他适合您的位置,并在getview中确保视图没有任何未保存的数据(如果有),然后显示it@SyedWaqas,你能举个这样的例子吗?我正在动态添加项目。。然后请显示代码,您在哪里这样做。
ArrayList<HashMap<String, String>> aaName = new ArrayList<HashMap<String, String>>();
HashMap<String, String> map = null;
map = new HashMap<String, String>();
map.put("Name", Name value);
aaName.add(map);
NameAdapter nameAdapter = new NameAdapter(getActivity(), aaName);
lvName.setAdapter(nameAdapter);
public class NameAdapter extends BaseAdapter {
public View getView(int position, View convertView, ViewGroup parent) {
View vi = convertView;
if (convertView == null)
vi = inflater.inflate(R.layout.chiefcomment_view, null);
TextView tvName = (TextView) vi.findViewById(R.id.tvName);
Spinner spnTime = (Spinner) vi.findViewById(R.id.spnTime);
EditText etSpecification = (EditText) vi.findViewById(R.id.etSpecification);
HashMap<String, String> name = new HashMap<String, String>();
name = data.get(position);
tvName.setText(name.get("Name"));
// Time Spinner...
ArrayList<String> Time = new ArrayList<String>();
for (int i = 1; i <= 100; i++) {
Time.add(String.valueOf(i));
}
aaTime = new ArrayAdapter<String>(activity, R.layout.small_spinner_view, Time);
spnTime.setAdapter(aaTime);
return vi;
}
}