清除Android ListView

清除Android ListView,第1张

概述我有一个ListView.我想动态更改列表视图的内容.我使用了“adapter.notifyDataSetChanged();”.更改内容.我也尝试将listview的适配器设置为null,但仍然得到相同的结果.它正在刷新,但未清除列表视图,而是将其与以前的结果附加在一起.我想要的是以前的内容应该删除,并且应该显示新的

我有一个ListVIEw.我想动态更改列表视图的内容.我使用了“ adapter.notifyDataSetChanged();”.更改内容.我也尝试将ListvIEw的适配器设置为null,但仍然得到相同的结果.它正在刷新,但未清除列表视图,而是将其与以前的结果附加在一起.我想要的是以前的内容应该删除,并且应该显示新的结果.

我无法理解我的错误在哪里以及我丢失了什么.

如果有人可以帮助我,我将非常感激.

下面是生成列表视图的代码

 public voID ListDrawer() {     try {      JsONObject JsonResponse = new JsONObject(JsonResult);      JsONArray JsonMainNode = JsonResponse.optJsONArray("myRegisteredList");      for (int i = 0; i < JsonMainNode.length(); i++) {       JsONObject JsonChildNode = JsonMainNode.getJsONObject(i);       String registered_name = JsonChildNode.optString("seminar");       String org = JsonChildNode.optString("organizer");       String sem_ID = JsonChildNode.optString("ID");       String r_sem = JsonChildNode.optString("seminar_ID");       registeredList = new HashMap<String, String>();       registeredList.put("registeredList", registered_name);       registeredList.put("seminar_ID", r_sem);       registeredList.put("sem_ID", sem_ID);       registeredList.put("organizer", org);       registeredList.add(registeredList);      }     } catch (JsONException e) {         //Toast.makeText(this, e.getMessage().toString() + " 1", Toast.LENGTH_LONG).show();         Toast.makeText(VIEwReservedSeminarList.this, "Sorry...You don't have any reserved seminar/s.", Toast.LENGTH_LONG).show();    }     try{    simpleAdapter = new SimpleAdapter(this, registeredList,       androID.R.layout.simple_List_item_2,       new String[] { "registeredList" ,"organizer", "seminar_ID" }, new int[] { androID.R.ID.text1 , androID.R.ID.text2 , androID.R.ID.Title });     ListVIEw.setAdapter(simpleAdapter);     ListVIEw.setonItemClickListener(new OnItemClickListener(){        @OverrIDe        public voID onItemClick(AdapterVIEw<?> a, VIEw v, int i, long l) {            // Todo auto-generated method stub            @SuppressWarnings("unchecked")            HashMap<String, String> selected_row = (HashMap<String, String>) simpleAdapter.getItem(i);            s_ID = selected_row.get("seminar_ID");            Intent intent = new Intent(VIEwReservedSeminarList.this, ReservedSeminar.class);            startActivity(intent);            //Toast.makeText(VIEwReservedSeminarList.this, "Selected Item : "+s_ID, Toast.LENGTH_LONG).show();        }     });     }catch(Exception e){         //Toast.makeText(this, e.getMessage().toString() + " 2", Toast.LENGTH_LONG).show();        Toast.makeText(VIEwReservedSeminarList.this, "There is no data being fetched", Toast.LENGTH_LONG).show(); }}

下面是我放在onCreate方法上以每10秒刷新一次ListvIEw的代码段.我在accessWebService方法下调用ListDrawer方法.

 final Handler handler = new Handler();                 handler.postDelayed( new Runnable(){                        @OverrIDe                        public voID run(){                        accessWebService();                        handler.postDelayed(this, 10 * 1000);                        Log.i("TAG", "notify");                 }                        }, 10 * 1000                        ); 

解决方法:

请尝试以下方法:

清除arrayList / HashMap

新增项目

adapter.notifyDataSetChanged();

设置适配器.

总结

以上是内存溢出为你收集整理的清除Android ListView全部内容,希望文章能够帮你解决清除Android ListView所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1094341.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-28
下一篇2022-05-28

发表评论

登录后才能评论

评论列表(0条)

    保存