项目里面的布局是这样的:一个Viewpager,Viewpager里面有三个Fragment,在第二个Fragment里面有一个ListView,使用了BaseAdapter来显示item。当时因为图方便,把获取数据源mData的方法直接写在了adapter的构造方法里面,数据源通过syncHttpClient向后台请求参数获取。

单击提示有错误:

CODE

package com.example.fiz.myapplication;

/**

Created by Fiz on 16/3/21.

和服务器进行通信

*/

import android.annotation.SuppressLint;

import android.app.LauncherActivity;

import android.os.Bundle;

import android.support.v4.app.Fragment;

import android.util.Log;

import android.view.LayoutInflater;

import android.view.View;

import android.view.ViewGroup;

import android.widget.AdapterView;

import android.widget.AdapterView.OnItemClickListener;

import android.widget.ListView;

import android.widget.ArrayAdapter;

import android.app.Activity;

import android.widget.SimpleAdapter;

import com.example.fiz.myapplogin.DjangoRestClient;

import com.loopj.android.http.JsonHttpResponseHandler;

import org.json.JSONArray;

import org.json.JSONException;

import org.json.JSONObject;

import java.util.ArrayList;

import java.util.HashMap;

import cz.msebera.android.httpclient.Header;

@SuppressLint("ValidFragment")

public class Home extends Fragment {

private String textString;

private static final String Tag = "MainActivity";

private ArrayList> arrayList = new ArrayList>();

public Home(String textString) {

this.textString = textString;

}

public static Home newInstance(String textString) {

Home mFragment = new Home(textString);

return mFragment;

}

@Override

public View onCreateView(LayoutInflater inflater, ViewGroup container,

Bundle savedInstanceState) {

View view = inflater.inflate(R.layout.home_page, container, false);

final ListView listView = (ListView) view.findViewById(R.id.listView);

try {

getPublicTimeline();

} catch (JSONException e) {

e.printStackTrace();

}

final SimpleAdapter adapter = new SimpleAdapter(getActivity(), getData(), R.layout.home_page_text,

new String[]{"news_title", "news_from", "news_judge","news_time"}, new int[]{R.id.news_title, R.id.news_from, R.id.news_judge,R.id.news_time});

listView.setAdapter(adapter);

// adapter.notifyDataSetChanged();///

/**

*事件监听

*/

listView.setOnItemClickListener(new OnItemClickListener() {

@Override

public void onItemClick(AdapterView> parent, View view, int position, long id) {

adapter.notifyDataSetChanged();

if ( ! arrayList.get(position).equals(null)){

Log.d(Tag, "THIS IS A JOKKE AA UN FUNC M ");

}else {

Log.d(Tag, "THIS IS A error are you undenstard AA UN FUNC M ");

}

}

});

return view;

}

/**

获取服务端数据

*/

void getPublicTimeline() throws JSONException {

DjangoRestClient.get("/demo/test/?format=json",

null, new JsonHttpResponseHandler() {

@Override

public void onSuccess(int statusCode, Header[] headers, JSONObject response) {

// If the response is JSONObject instead of expected JSONArray

System.out.println(response);

try {

JSONArray array = response.getJSONArray("data");

System.out.print("状态码" + statusCode);

} catch (Exception e) {

e.printStackTrace();

}

}

@Override

public void onSuccess(int statusCode, Header[] headers, JSONArray timeline) {

// Pull out the first event on the public timeline

//这是我的后台适应编码

// System.out.println(timeline);

try {

// JSONObject firstEvent = (JSONObject) timeline.get(0);

JSONArray secondEvent = (JSONArray) timeline;

// String tweetText = firstEvent.getString("title");

// Do something with the response

for (int j = 0; j < secondEvent.length(); j++) {

JSONObject firstEvent = (JSONObject) timeline.get(j);

HashMap tempHashMap = new HashMap();

//新闻标题

String title = firstEvent.getString("title");

//新闻时间

String description = firstEvent.getString("description");

//新闻来源

String link = firstEvent.getString("link");

//新闻序号

String linkmd5id = firstEvent.getString("linkmd5id");

tempHashMap.put("news_title", title);

tempHashMap.put("news_from", link);

tempHashMap.put("news_judge", linkmd5id);

tempHashMap.put("news_time", description);

arrayList.add(tempHashMap);

}

System.out.println(arrayList);

// System.out.println(tweetText);

} catch (JSONException e) {

//do something

}

}

});

}

/**

getData

*/

ArrayList> getData() {

return arrayList;

}

/**

捕获单击事件

*/

}

LOG

at android.widget.ListView.layoutChildren(ListView.java:1562)

at android.widget.AbsListView$CheckForTap.run(AbsListView.java:3261)

at android.os.Handler.handleCallback(Handler.java:739)

at android.os.Handler.dispatchMessage(Handler.java:95)

at android.os.Looper.loop(Looper.java:135)

at android.app.ActivityThread.main(ActivityThread.java:5221)

at java.lang.reflect.Method.invoke(Native Method)

at java.lang.reflect.Method.invoke(Method.java:372)

at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899)

at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694)

04-12 00:42:38.120 29022-29022/com.example.fiz.myapplication I/Process: Sending signal. PID: 29022 SIG: 9

android中listview刷新数据,Android动态刷新listview中的数据?相关推荐

  1. 谷歌的android下拉刷新页面,Android SwipeRefreshLayout:谷歌官方SDK包中的下拉刷新

     <Android SwipeRefreshLayout:谷歌官方SDK包中的下拉刷新> 下拉刷新在如今移动开发中应用如此广泛和普遍,以至于谷歌干脆在SDK中给予支持.在android ...

  2. android中view刷新界面,Android view invalidate()使用

    Android提供了Invalidate方法實現界面刷新,但是Invalidate不能直接在線程中調用,因為他是違背了單線程模型:androidUI操作並不是線程安全的,並且這些操作必須在UI線程中調 ...

  3. android 下拉刷新 组件,android系统自带下拉刷新控件的实现

    android系统自带的下拉刷新控件SwipeRefreshLayout位于android.support.v4.widget包下,实现步骤如下: 1.在布局文件中添加该控件,该控件一般作为父控件,而 ...

  4. Android 动态刷新listview中的数据

    之前一直困扰listview刷新后位置的问题,现在才明白,原来不能重新设置listview的adapter,而应该用notifyDataSetChanged()来刷新,这样位置就不会置顶. 下面做了一 ...

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

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

  6. app把信息添加到mysql_如何将数据库表中的数据添加到ListView C#Xamarin Android App

    几天前我问过如何在活动之间共享数据,一个用户告诉我使用SQLite,所以我做了.我想让用户点击MainLayout中的按钮,它会将他重定向到AddTaskLayout,在那里他可以添加任务名称,按下S ...

  7. android listview item长按事件,ListView的点击事件,长按事件,数据刷新

    1.刷新数据 当List中的数据发生改变时,使用listViewAdapter.notifyDataSetChanged();通知Adapter刷新数据. 在Activity中找到ListView,为 ...

  8. android ListView中含有按钮事件实时更新ListView数据案例-1

    1.布局文件Listview <?xml version="1.0" encoding="utf-8"?> <android.support. ...

  9. Android之下拉刷新的ListView

    不废话,代码里面注释很详细,直接上代码: 自定义的RefreshableListView代码: 1 public class RefreshableListView extends ListView ...

  10. android listview下拉刷新动画,android 安卓 listview 支持下拉刷新 上拉加载更多

    [1]重写listViewimport java.text.SimpleDateFormat; import java.util.Date; import com.example.testdddlea ...

最新文章

  1. Linux 内核测试版与稳定版的版本号有什么不同?
  2. mysql 非正常关闭_mysql非正常关机,无法启动解决方案(转)
  3. 【TensorFlow】tf.nn.softmax_cross_entropy_with_logits的用法
  4. 关于epoll 水平触发在udp套接字上不生效问题的原因
  5. 以在线教育销售CRM为例,谈谈业务大盘拆解优化的六步法
  6. yafeilinux.com的开源项目非常好的东西
  7. opencv相机标定和人头姿态估计案例
  8. linux关机时循环输出脚本,Linux关机时执行指定脚本功能实现
  9. 计算机专业论文关于天气预报的,关于天气预报论文范文写作 天气预报相关论文写作资料...
  10. IIS 5 与IIS 6 原理介绍
  11. 程序员必备工具包(实物)
  12. postgres报错:FATAL: Peer authentication failed for user “zabbix“ Previous connection kept
  13. APS技术中的多目标规划问题
  14. java web开发技术文档的编写
  15. StartHS(截图软件)v6.81.02绿色汉化版
  16. 使用GifCam软件录制gif动图
  17. 研究生应如何合理管理时间
  18. xlsx格式表格汉字批量转音节,不带声调(python)
  19. 【BDTC 2016】交通与旅游大数据论坛:透过大数据看交通
  20. 图片还原去遮挡_怎么消除马赛克 还原图片去掉遮挡软件

热门文章

  1. Kali下安装 dvwa 的完整详细教程
  2. SWOT分析法 (SWOT Analysis)
  3. wps表格l制作甘特图_如何在表格中制作甘特图(横道图)?
  4. 阿里笔试算法题2021
  5. java doc转mht_Word文档格式doc转为mht.doc
  6. 英语视听说第六版答案
  7. vue+echar动态渲染饼图
  8. 昆仑通态通用版找不到驱动_昆仑通态无法连接1200
  9. 天气预报 API 各城市编码
  10. plsql命令窗口使用