本问题已经有最佳答案,请猛点这里访问。

我的想法是使用AsynTask下载数据集并存储在arrayList中。 我已经检查并运行良好。

在onPostExecute方法中,我调用一个函数来更新listView,然后加载存储在ArrayList中的数据。

码:

protected void onPostExecute(String result)

{

progressDialog.setProgress(99);

actualizarDisplay();

}

方法actulizarDisplay:

dataAdapter = new MyCustomAdapter(this,R.layout.servicio, listaServicios);

ListView listView = (ListView) findViewById(R.id.listaServ);

listView.setAdapter(dataAdapter);

和类MyCustomAdapter:

private class MyCustomAdapter extends ArrayAdapter

{

private ArrayList servicioList;

public MyCustomAdapter(Context context, int textViewResourceId,ArrayList servicioList)

{

super(context, textViewResourceId,servicioList);

this.servicioList = new ArrayList();

this.servicioList.addAll(servicioList);

}

private class ViewHolder

{

TextView nombre, hora, lugar, fecha;

ImageView tipo;

}

@Override

public View getView(int position, View convertView, ViewGroup parent)

{

ViewHolder holder = null;

if (convertView == null)

{

LayoutInflater vi = (LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE);

convertView = vi.inflate(R.layout.servicio, null);

holder = new ViewHolder();

holder.nombre = (TextView) convertView.findViewById(R.id.titulo);

holder.lugar = (TextView) convertView.findViewById(R.id.lugar);

holder.hora = (TextView) convertView.findViewById(R.id.hora);

holder.fecha = (TextView) convertView.findViewById(R.id.fecha);

convertView.setTag(holder);

}

else

{

holder = (ViewHolder) convertView.getTag();

}

Servicio servicio = servicioList.get(position);

Log.i("ConvertView", servicio.getNombre()); // the correct value is displayed

holder.nombre.setText(servicio.getNombre());

holder.hora.setText(servicio.getHora());

holder.lugar.setText(servicio.getLugar());

holder.fecha.setText(servicio.getFecha());

if (servicio.tipo == 0)

holder.tipo.setImageResource(R.drawable.cultural);

return convertView;

}

}

这是logcat中的错误,第423行是:holder.nombre.setText(servicio.getNombre());

FATAL EXCEPTION: main java.lang.NullPointerException at

app.serviciosprote.Inicio$MyCustomAdapter.getView(Inicio.java:423)

at android.widget.AbsListView.obtainView(AbsListView.java:2350)

at android.widget.ListView.measureHeightOfChildren(ListView.java:1409)

at android.widget.ListView.onMeasure(ListView.java:1273)

at android.view.View.measure(View.java:15286)

at android.widget.RelativeLayout.measureChild(RelativeLayout.java:602)

at android.widget.RelativeLayout.onMeasure(RelativeLayout.java:415)

at android.view.View.measure(View.java:15286)

at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:4832)

at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1390)

at android.widget.LinearLayout.measureVertical(LinearLayout.java:681)

at android.widget.LinearLayout.onMeasure(LinearLayout.java:574)

at android.view.View.measure(View.java:15286)

at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:4832)

at android.widget.FrameLayout.onMeasure(FrameLayout.java:310)

at android.view.View.measure(View.java:15286)

at android.widget.LinearLayout.measureVertical(LinearLayout.java:833)

at android.widget.LinearLayout.onMeasure(LinearLayout.java:574)

at android.view.View.measure(View.java:15286)

at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:4832)

at android.widget.FrameLayout.onMeasure(FrameLayout.java:310)

at com.android.internal.policy.impl.PhoneWindow$DecorView.onMeasure(PhoneWindow.java:2269)

感谢您的帮助

我认为问题已经解决,并且是如果TextView的文本很长且不适合,则会失败

您的解释没有任何意义。 您描述的内容不会导致您发布的堆栈跟踪。

关于点击监听器上的事件,用谷歌搜索,您会发现足够的tut可以帮助您..问另一个问题可能是一个骗子。

Comment

这可能意味着您的第一个textview不在此xml文件中

servicio.xml

没有ID为titulo的textview

holder.nombre = (TextView) convertView.findViewById(R.id.titulo);

因此空指针

仔细检查您是否在正确的xml中使用正确的ID调用正确的textview

谢谢。 您能说说我如何为点击事件做一个听众吗?

问另一个问题。

android listview asynctask,关于android:ListView + ArrayList + AsyncTask相关推荐

  1. Android多线程任务优化1:探讨AsyncTask的缺陷

    AsyncTask还有别的缺陷,在生成listview的时候,如果adapter里面的count动态改变的话,不能使用AsyncTask,只能使用Thread+Handler,否则会出现如下错误 ja ...

  2. [Android精品源码] Android 仿美团网,探索ListView的A-Z字母排序功能实现选择城市

    Material Design中文版Code4APPPHP100UI4APP 开启辅助访问设为首页收藏本站快捷导航切换到宽版切换风格 石刚 | |我的 |签到打卡 |设置 |消息 |提醒(2) |退出 ...

  3. android 多线程断点下载,listview 模式 开始 暂停等功能

    android 多线程断点下载,listview 模式 代码依次如下: 布局: <?xml version="1.0" encoding="utf-8"? ...

  4. Android源码之路(二、AsyncTask)

    参考 https://www.baidu.com/link?url=QNRznJEBT25k0bpgVD3bOniOia2W85eiPIWrS93YFknyrHoFDGrJVtoax2ZYpiiErt ...

  5. Android 5.0学习之ListView升级版RecyclerView

     前言 大家都知道ListView在我们开发中很常用,Android5.0的到来,它给我们带来了一个替代 ListView的新的控件,也可以说是ListView的升级版,那就是RecyclerVi ...

  6. android UI进阶之实现listview中checkbox的多选与记录

    今天继续和大家分享涉及到listview的内容.在很多时候,我们会用到listview和checkbox配合来提供给用户一些选择操作.比如在一个 清单页面,我们需要记录用户勾选了哪些条目.这个的实现并 ...

  7. android listview分页显示,Android应用中使用ListView来分页显示刷新的内容

    点击按钮刷新1.效果如下: 实例如下:  上图的添加数据按钮可以换成一个进度条  因为没有数据所以我加了一个按钮添加到数据库用于测试:一般在服务器拉去数据需要一定的时间,所以可以弄个进度条来提示用户: ...

  8. Android之自定义Adapter的ListView

    在开发中,我们经常使用到ListView这个控件. Android 的API也提供了许多创建ListView适配器的快捷方式.例如 ArrayAdapter.SimpleAdapter和SimpleC ...

  9. Android旋转切换条目,Android:当我添加动态新的ListView条目时,ListView中的旋转器会丢失它们的值...

    我的活动包含一个按钮和一个ListView. ListView包含Spinner和EditText视图.每次我想在Activity的ListView中插入一个新的行条目时,我都会使用该按钮. 我遵循了 ...

  10. android webview加载网页,文字listview和image混合listview的实现

    android和ios内置浏览器支持html5,还支持CSS3和js 下面的一个小例子,我来实现android加载html页面.还有两个列表,回顾一下listview的功能.文章内容较浅,没有特别高的 ...

最新文章

  1. Postgresql:删除及查询字段中包含单引号的数据
  2. 3D机器人视觉在仓储物流和工业自动化领域的应用 | AI ProCon 2019
  3. Java登陆页面经常出现的问题,问一下关于登陆页面的有关问题
  4. Cors 跨域Access-Control-Allow-Origin
  5. 重新想象 Windows 8 Store Apps (61) - 通信: http, oauth
  6. Ajax系列之三:UpdatePanel
  7. 抢火车票这个事吧,其实我也能做!(python黑科技)
  8. Sleuth则是用来共方便的集成Zipkin。
  9. eclipse 跑maven命令_maven编写命令行执行mvn package没问题,eclipse执行报错
  10. 大数据技术架构_架构大数据图
  11. 作者:张丹(1991-),女,中南大学信息与工程学院硕士生。
  12. Centos yum install和yum groupinstall的区别
  13. 简约超好看自适应团队介绍页源码
  14. 诗与远方:无题(四十二)
  15. 搭建Harbor docker镜像仓库
  16. 潜意识、读懂行为、说服的艺术
  17. 序列两两比对算法_学会正确选择多序列比对(coding-sequences)软件
  18. Unreal蓝图入门 节点
  19. 入职一年,升职一次,涨薪两次
  20. vue项目中-上传图片头像并裁剪成任意大小的实现

热门文章

  1. c语言 函数的参数传递示例_llround()函数以及C ++中的示例
  2. vue-video-player修改src就会报错_4、修改入口点代码
  3. excel支持python吗_没有 Python,微软宣布 Excel 新增 JavaScript 支持
  4. 底量超顶量超级大黑马指标源码_一旦出现底量超顶量形态,是超级大黑马诞生!...
  5. python字典按键值排序_在Python中按键或值按升序和降序对字典排序
  6. setname_Python线程类| setName()方法与示例
  7. Asp.Net回车键触发Button的OnClick事件解决方案
  8. 偶尔所得代码片(进程和锁相关)
  9. 网络编程C/S模型怎样才能实现真正的聊天功能
  10. 错误175:具有固定名称MySql.Data.MySqlClient的ADO.NET提供程序未在计算机或者应用程序配置文件中注册或者无法加载