Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/187.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Android动态添加其他项目时防止ListView项目刷新_Android_Listview_Baseadapter - Fatal编程技术网

使用Android动态添加其他项目时防止ListView项目刷新

使用Android动态添加其他项目时防止ListView项目刷新,android,listview,baseadapter,Android,Listview,Baseadapter,我正在使用BaseAdapter绑定自定义ListView。我正在动态添加项目。每个项目都包含TextView、EditText和微调器。它工作得很好。但现在的问题是,若用户从微调器中选择任何值,在EditText中添加一些数据,然后若他/她添加新项,那个么它将清除已填充数据的所有值。 因此,我想在添加新项目时阻止对已添加项目的刷新。如何做到这一点? 我的代码: 尝试删除ifconvertView==null检查。我已经尝试过了,但没有效果。您可以扩展模型以容纳未保存的数据,或者将其存储在其他适

我正在使用BaseAdapter绑定自定义ListView。我正在动态添加项目。每个项目都包含TextView、EditText和微调器。它工作得很好。但现在的问题是,若用户从微调器中选择任何值,在EditText中添加一些数据,然后若他/她添加新项,那个么它将清除已填充数据的所有值。 因此,我想在添加新项目时阻止对已添加项目的刷新。如何做到这一点? 我的代码:


尝试删除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;
    }
}