首页 > 编程知识 正文

listview用法,缺少更新或刷新的键列信息

时间:2023-05-06 14:16:02 阅读:48805 作者:2662

可能需要修改已经生成的列表、添加或修改数据。 notifyDataSetChanged ) )修改适配器绑定的数组后,可以通知Activity更新列表,而无需重新更新Activity。 今天的示例是以两种方式动态更新listview:handler async task。

? XML版本=' 1.0 '编码=' utf-8 '? linearlayoutxmlns 3360 Android=' http://schemas.Android.com/apk/RES/Android ' Android 3360 orientation=' vertical ' Android : layout _ width=' fill _ parent ' Android 3360 layout _ height LV d 3360 layout _ height=' wrap _ content ' Android 3360 text=' XML version=' 1.0 ' encoding=' utf-8 '? textview Android 3360 id=' @ id/text1' xmlns : Android=' http://schemas.Android.com/apk/RES/Android ' Android 3366

import java.util.ArrayList; 导入安卓. app.activity; 导入安卓. OS.async任务; 导入安卓. OS.bundle; 导入安卓. OS.handler; 导入安卓. view.view; import Android .构件. adapter view; import Android .构件. array适配器; import Android .构件. listview; import Android.widget.adapter view.onitemclicklistener; publicclassmainextendsactivity {/* * calledwhentheactivityisfirstcreated.*/listview LV; Arrayadapterstring适配器; arrayliststringarr=newarrayliststring (; @ overridepublicvoidoncreate (bundlesavedinstancestate ) super.oncreate ) savedinstancestate; setcontentview(r.layout.main ); LV=(listview ) findviewbyid(r.id.LV ); ARR.add(123 ); ARR.add('234 ); ARR.add('345 ); adapter=newarrayadapterstring (this,R.layout.playlist,arr ); LV.setadapter(adapter ); LV.setonitemclicklistener (lvl is ); editItem edit=new editItem (; edit.execute('0),'第1项); //将第一项内容改为“第一项”Handler handler=new Handler (); Handler.postDelayed(add,3000 );//延迟3秒运行(} Runnable add=new Runnable () { @Override public void run ) }/todo auto-generatedmethodstubarr.add ) ) 添加Adapter.notifyDataSetChanged (; }; classedititemextendsasynctaskstring,Integer,string { @ overrideprotectedstringdoinbackground (string.params ) arr.} //params得到的是数组,params[0]在此为'0',params[1]为'第1项'//Adapter.notifyDataSetChanged (); //添加后,无法调用Adapter.notifyDataSetChanged )来更新UI。 由于与UI不是同一线程,因此//下的onPostExecute方法在运行doBackground后,UI线程返回空值; } @ overrideprotectedvoidonpostexecute (字符串结果)/todo auto-generatedmethodstubsuper.onpostexecute ) ); Adapter.notifyDataSetChanged (; //执行完成,ui更新} privateonitemclicklistenerlvlis=newonitemclicklistener () @overridepublicvoidonitemclick ) adapter view arrarick 单击longarg3(//条目时触发(//arg2是点中项目的位置settitle (string.value of (arr.get ) ) ); }; }

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。