2012-07-03 19 views
0

我正在尝试执行包含图像和textview的搜索。 因此,当我搜索它返回积极的结果,但是当我回去与其他值搜索它同时返回旧的返回和新的结果。 我希望我的listView不要向其中添加旧数据。我需要用新值重写旧数据。在这里我的代码:在搜索时在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); 
    } 
}); 

当我点击第一buttonKZN它必须显示所有KZN省份,点击buttonB_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));  

所以,请帮我按选择键diplay正确的价值观。

回答

3

尝试你是老板在此之前PNames.clear(), PImages.clear();

+0

纳伊姆先生...笑:)坦人 – Zamani

+0

碰碰,因为帮我还,谢谢! – ADK