Duplicate values listView - Android



我正在用Android Studio开发Android应用程序,我有下一个问题:这是我的屏幕没有搜索任何东西。

屏幕

我第一次搜索的东西工作得很好,但当我再次搜索时,它重复了我的值。

优先搜索

第二次搜索-重复结果

下面是我的代码,当我调用我的主机和使用我的适配器:

cliente.post(URL, new AsyncHttpResponseHandler() {

@Override
public void onSuccess(int statusCode, Header[] headers, byte[] responseBody) {
if (statusCode == 200) {

try {
JSONArray jsonArray = new JSONArray(new String(responseBody));
for (int i = 0; i < jsonArray.length(); i++) {
nombreRepuestoList.add(jsonArray.getJSONObject(i).getString("DESCRIPCION"));
referenciaRepuestoList.add(jsonArray.getJSONObject(i).getString("REFERENCIA_REPUESTO"));
}

ArrayAdapter adaptermaquina = new ArrayAdapter(getContext(), android.R.layout.simple_list_item_2, android.R.id.text1, nombreMaquinaList) {
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View view = super.getView(position, convertView, parent);
TextView text1 = (TextView) view.findViewById(android.R.id.text1);
TextView text2 = (TextView) view.findViewById(android.R.id.text2);
text1.setText(nombreMaquinaList.get(position));
text2.setText(referenciaMaquinaList.get(position));
return view;
}
};
adaptermaquina.notifyDataSetChanged();
listaResultado.setAdapter(adaptermaquina);
} catch (JSONException e) {
e.printStackTrace();
}

我需要一些帮助。

我尝试使用空适配器,但它不工作,使用listaResultado.clear()也不工作。

不需要清除适配器,只需清除列表值

nombreRepuestoList.clear();
referenciaRepuestoList.clear(); 

代码

if (statusCode == 200) {
nombreRepuestoList.clear();//1st 
referenciaRepuestoList.clear();//2nd 
try {
JSONArray jsonArray = new JSONArray(new String(responseBody));
for (int i = 0; i < jsonArray.length(); i++) {
nombreRepuestoList.add(jsonArray.getJSONObject(i).getString("DESCRIPCION"));
referenciaRepuestoList.add(jsonArray.getJSONObject(i).getString("REFERENCIA_REPUESTO"));
} 

我希望它对你有用

最新更新