如何遍历Listview全部的item(包括不可见的)

hunter1193 2020-03-10 06:29:07
ListView lv;
myBaseAdapter adp = null;
class myBaseAdapter extends BaseAdapter { ...
...............
比如查询出的数据一共是8项,屏幕上只显示了6项,
用 lv.getChildCount()就只能抓取6项,
用adp.getCount()可以抓取8项,但是无法遍历,
一执行下面的语句,程序就崩溃,
for(int i=0;i<adp.getCount();i++){
View view=adp.getView(i,null,null); // 这句居然出错???
.......
}
...全文
439 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
hunter1193 2020-03-10
  • 打赏
  • 举报
回复
引用 3 楼 bdmh 的回复:
你去操作数据集,然后notify就行了
居然忘记这个了,按这个方法,搞定了,多谢! 代码如下: //--------全选,反选 public void click_select_all_revert(int stype){ //obj.fsok=(stype==1)?true:!cb.isChecked(); for (int i = 0; i < lv.getCount() ; i++) { cPomInfo obj = dataList.get(i); if(stype==1){ obj.fsok=true; } else { obj.fsok=!obj.fsok; } dataList.set(i, obj); } adp.notifyDataSetChanged(); }
bdmh 2020-03-10
  • 打赏
  • 举报
回复
你去操作数据集,然后notify就行了
hunter1193 2020-03-10
  • 打赏
  • 举报
回复
出错信息如下: java.lang.NullPointerException: Attempt to invoke virtual method 'android.content.Context android.view.ViewGroup.getContext()' on a null object reference at com.jyd.apppocheck.PoMain$myBaseAdapter.getView(PoMain.java:385) at com.jyd.apppocheck.PoMain.click_select_all(PoMain.java:88) at com.jyd.apppocheck.PoMain$4.onClick(PoMain.java:159) at android.view.View.performClick(View.java:5198) at android.view.View$PerformClick.run(View.java:21147) at android.os.Handler.handleCallback(Handler.java:739) at android.os.Handler.dispatchMessage(Handler.java:95) at android.os.Looper.loop(Looper.java:148) at android.app.ActivityThread.main(ActivityThread.java:5417) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
hunter1193 2020-03-10
  • 打赏
  • 举报
回复
//--------全选,反选 public void click_select_all(int stype){ for(int i=0;i<adp.getCount();i++){ View view=adp.getView(i,null,null); // 这句居然出错??? ........... } adp.notifyDataSetChanged(); } .............................................................. List<cPomInfo> dataList; .............................................................. // ----------2...自定义BaseAdapter ------------------ class myBaseAdapter extends BaseAdapter { @Override public int getCount() { return dataList.size(); } @Override public Object getItem(int position) { return dataList.get(position); } @Override public long getItemId(int position) { return position; } @Override public View getView(int position, View convertView, ViewGroup parent) { View cview = LayoutInflater.from(parent.getContext()).inflate(R.layout.po_main_item, null); ...... return cview; } }

80,471

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧