我正在尝试进行包括图像和文本视图的搜索。因此,当我搜索它时,它会返回肯定的结果,但是当我返回并使用其他值进行搜索时,它会同时返回旧的返回值和新的结果。我希望我的 listView 不向其中添加旧数据。我需要用新值覆盖旧数据。这是我的代码:
public void onClick(View Kv) {
Intent moreDetailsIntent = new Intent(MainMenu.this,ListMobileActivity.class);
Bundle dataBundle = new Bundle();
dataBundle.putString("Prov","KwaZulu-Natal");
moreDetailsIntent.putExtras(dataBundle);
startActivity(moreDetailsIntent);
});
B_GP.setOnClickListener(new View .OnClickListener() {
@Override
public void onClick(View Gv) {
Intent moreDetailsIntent = new Intent(MainMenu.this,ListMobileActivity.class);
Bundle dataBundle = new Bundle();
dataBundle.putString("Prov","Gauteng");
moreDetailsIntent.putExtras(dataBundle);
startActivity(moreDetailsIntent);
}
});
当我单击第一个按钮 KZN 时,它必须显示所有 KZN 省份,当单击按钮 B_GP 时,它必须返回所有 GP 省份。所以当我第二次搜索时它只是返回旧数据,这里是我的 listView 类:
Bundle b = getIntent().getExtras(); // Getting the Bundle object that pass from another activity
String SelectedProv = b.getString("Prov");
List<NameValuePair> params = new ArrayList<NameValuePair>();
params.add(new BasicNameValuePair("ProvinceName",SelectedProv));
Log.d("ProvinceName",SelectedProv);
JSONObject json = jsonParser.makeHttpRequest("http://10.0.2.2/php/searchKZN.php", "POST", params);
try{
JSONArray earthquakes = json.getJSONArray("PROV");
for(int i=0;i<earthquakes.length();i++){
JSONObject e = earthquakes.getJSONObject(i);
String PCity = e.getString("P_City");
PNames.add(PCity);
String Pimage = e.getString("Pname");
PImages.add(Pimage);
}
} catch(JSONException e){
Log.e("log_tag", "Error parsing data "+e.toString());
}
setListAdapter(new MobileArrayAdapter(this, PNames,PImages));
所以请帮我根据选择的按钮显示正确的值。