AndroidでgetDataボタンをもう一度クリックすると、古いListViewデータがクリアされ、再度新しいデータを再設定します。

StackOverflow https://stackoverflow.com//questions/23005253

  •  20-12-2019
  •  | 
  •  

質問

私はアンドロイドに向かっています。JSON WebServiceを使用してAndroid ListViewを作成しました。getdataボタンをもう一度クリックすると、古いListViewデータがクリアされ、再度新しいデータを再設定します。私を助けて、事前にありがとうございます。

    setContentView(R.layout.activity_main);
    CargoTracklist = new ArrayList<HashMap<String, String>>();

   Btngetdata = (Button)findViewById(R.id.button1);
    Btngetdata.setOnClickListener(new View.OnClickListener() {          
        @Override
        public void onClick(View view) {            
             new JSONParse().execute();             
        }
    });                
}    
private class JSONParse extends AsyncTask<String, String, JSONObject> {
     private ProgressDialog pDialog;
    @Override
    protected void onPreExecute() {
        super.onPreExecute();          
         Status = (TextView)findViewById(R.id.textView2);
         Id= (TextView)findViewById(R.id.textView1);
         DateTime = (TextView)findViewById(R.id.textView3);
         JobNo =(EditText)findViewById(R.id.editText1);
        pDialog = new ProgressDialog(MainActivity.this);
        pDialog.setMessage("Getting Data ...");
        pDialog.setIndeterminate(false);
        pDialog.setCancelable(true);
        pDialog.show();

}       
@Override
    protected JSONObject doInBackground(String... args) {
                    JSONParser jParser = new JSONParser();
                 ArrayList<BasicNameValuePair> params = new ArrayList<BasicNameValuePair>();
        params.clear();         
         params.add(new BasicNameValuePair("JobNo",JobNo.getText().toString()));

              // Getting JSON from URL
              JSONObject json = jParser.getJSONFromUrl(url,params);
              return json;                            
    }                   
     @Override
     protected void onPostExecute(JSONObject json) {
         pDialog.dismiss();
         try {
             if (JobNo.getText().toString().equals(""))
                {
                    Toast.makeText(MainActivity.this, "You did not enter a JobNo", Toast.LENGTH_SHORT).show();

                 }
                 else                    {                               
             // Getting JSON Array from URL
                Cargo = json.getJSONArray(TAG_CargoTrack);
                for(int i = 0; i < Cargo.length(); i++){
                JSONObject c = Cargo.getJSONObject(i);

                // Storing  JSON item in a Variable
                String Status = c.getString(TAG_Status);
                String Id = c.getString(TAG_Id);
                String DateTime = c.getString(TAG_DateTime);                                                                                        HashMap<String, String> map = new HashMap<String, String>();

                map.put(TAG_Status, Status);
                map.put(TAG_Id, Id);
                map.put(TAG_DateTime, DateTime);

                CargoTracklist.add(map);
                list=(ListView)findViewById(R.id.listView1);
                                                                                    ListAdapter adapter = new SimpleAdapter(MainActivity.this, CargoTracklist,
                        R.layout.listview,
                        new String[] { TAG_Status,TAG_Id, TAG_DateTime }, new int[] {
                                R.id.textView2,R.id.textView1, R.id.textView3});

                list.setAdapter(adapter);
                list.setOnItemClickListener(new AdapterView.OnItemClickListener() {

                    @Override
                    public void onItemClick(AdapterView<?> parent, View view,
                                            int position, long id) {
                        Toast.makeText(MainActivity.this, "You Clicked at "+CargoTracklist.get(+position).get("Id"), Toast.LENGTH_SHORT).show();

                    }
                });
.

役に立ちましたか?

解決

リストを更新したいときはいつでも

で古いデータを消去します
if(CargoTracklist != null){
CargoTracklist.clear();
// Add new Data to CargoTracklist
CargoTracklist.add("new data");
if(adapter != null){
adapter.notifyDataChaned();
}
}
.

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top