线程-AsynTask中怎么返回数据填充到ListView中

问题描述

AsynTask中怎么返回数据填充到ListView中

我调用新浪微博的SDK,其中调用官方的APT方法--userTimelineIds获取微博ID,官方方法如下:
/**
* 获取用户发布的微博的ID
*
* @param uid 需要查询的用户ID
* @param since_id 若指定此参数,则返回ID比since_id大的微博(即比since_id时间晚的微博),默认为0
* @param max_id 若指定此参数,则返回ID小于或等于max_id的微博,默认为0
* @param count 单页返回的记录条数,默认为50
* @param page 返回结果的页码,默认为1
* @param base_app 是否只获取当前应用的数据。false为否(所有数据),true为是(仅当前应用),默认为false
* @param featureType 过滤类型ID,0:全部、1:原创、2:图片、3:视频、4:音乐,默认为0
*

{@link #FEATURE_ALL}
* {@link #FEATURE_ORIGINAL}
* {@link #FEATURE_PICTURE}
* {@link #FEATURE_VIDEO}
* {@link #FEATURE_MUSICE}
* @param listener 异步请求回调接口
*/
public void userTimelineIds(long uid, long since_id, long max_id, int count, int page, boolean base_app,
int featureType, RequestListener listener) {
WeiboParameters params = buildTimeLineWithApp(since_id, max_id, count, page, base_app, featureType);
params.put("uid", uid);
requestAsync(SERVER_URL_PRIX + "/user_timeline/ids.json", params, HTTPMETHOD_GET, listener);
}

    可以看出是用了AsynTask实现的异步回调。但是具体的requestAsync被新浪封装,无法查看和修改。

    在我自己的Activity中调用如下:
    /**
     * 通过登录的用户id获取其发过的所有微博id
     */
    mStatuseAPI.userTimelineIds(uid, 0L, 0L, 50, 1, false,
            StatusesAPI.FEATURE_ALL,
            new RequestListener() {   //异步回调就是发起请求后,不等待响应就先去处理自己的响应

                @Override
                public void onWeiboException(WeiboException error) {
                    // TODO Auto-generated method stub
                    //出错就打印出错信息
                    error.printStackTrace();
                }

                @Override
                public void onComplete(String result) {
                    // TODO Auto-generated method stub
                    Log.i(TAG, result);

                    //当括号内参数为(null)或者("")时,返回true,此方法既可以判断字符串也可以判断对象
                    if(!TextUtils.isEmpty(result)){
                        getWbList(result);
                    }else{
                        Log.i(TAG, "获取不到微博ID或者此用户没有发过微博");
                    }

                }
            });

这里onComplete方法返回的result是在异步回调线程中的,请问怎么将数据拿到Activity中。这里由于requestAsync无法查看和修改。就不能重载AsynTask里的onPostExcate()方法传回结果。
请问该怎么在主线程中拿到数据?

解决方案

http://www.educity.cn/wenda/177222.html

解决方案二:

你是要实现加载网络数据,异步刷新ListView 是吧?

时间: 2024-12-04 09:53:58

线程-AsynTask中怎么返回数据填充到ListView中的相关文章

java-为何数据接口在浏览器中无法返回数据,却能在AndroidStudio的代码中返回

问题描述 为何数据接口在浏览器中无法返回数据,却能在AndroidStudio的代码中返回 我按照书上,调用"http://www.weather.com.cn/data/list3/city.xml "这个地址,用以返回城市和城市对应的代码,在app中是能获得数据,且数据结果与预期完全一致,但如果把地址贴到浏览器(我使用的是Chrome)中,就会报错?请问为什么? 解决方案 http://www.weather.com.cn/data/list3/city.xml 返回的是 : &q

map-android 调用 webservice 返回字符串想在listview中显示。出现问题……

问题描述 android 调用 webservice 返回字符串想在listview中显示.出现问题-- 下文是 主查询模块 Query_xiaofeijilu.java, package com.gongneng.chaxun; import java.io.IOException; import java.util.ArrayList; import java.util.HashMap; import java.util.Iterator; import java.util.List; im

WPF选中浮云框中的内容怎么填充到textbox中?

问题描述 如上图所示:右边的那个浮云框中的数据是从XML中读取出来的,我想点击浮云框中的选中项填充到textbox中,可惜没有成功,填充的只是xml数据类型,txtbox.Text=Tv.SelectedItem.ToString();这个是后台代码,你们帮我看看截图中红色框框,怎么填充我要的数据,谢谢! 解决方案 解决方案二: 解决方案三:取它的Value值,添加到ComboxItem中.解决方案四:现在显示的对象类型,需要取到它的值.解决方案五:引用3楼duanzi_peng的回复: 现在显

angularjs-AngularJs中请求到数据后在controller中怎么取出数据供HTLM页面循环使用

问题描述 AngularJs中请求到数据后在controller中怎么取出数据供HTLM页面循环使用 我在AngularJs的service服务里,使用$http.post请求请求到数据后,在controller里注入服务,然后使用循环把data数据push到一个数组中,可是在谷歌浏览器的控制台中只能看到是个[]空数组,ng-repeat也没有循环出来内容,请问这个值我该怎么取得?代码如下:// $q 是内置服务,所以可以直接使用ngApp.service('UserInfo' ['$http'

listview-当ArrayAdapter.isEnabled返回false时, ListView中的divider消失

问题描述 当ArrayAdapter.isEnabled返回false时, ListView中的divider消失 在程序的ArrayAdapter类里面我使用ListActivity.当我重写了ArrayAdapter.areAllItemsEnabled() 和 ArrayAdapter.isEnabled()方法,在 list view 中单元格之间的 divider 就会消失.我想要dividers在单元格里都能显示. 大家知道怎么避免这个问题的出现呢? 解决方案 对某些特殊的项目,在a

listview-将两张表的数据展示在一个ListView中

问题描述 将两张表的数据展示在一个ListView中 数据库中的数据如图所示,一共有5张表,三个数据表以及两个关系表.我现在需要将所有的project和exam读取出来然后将其中的name和description显示在同一个ListView中,根据数据表中的session sort no来排序. 现在的问题: 1.如何同时读取所有的exam和project数据并根据session sort no来排序呢?因为数据比较多,所以应该不会一次性完成读取,而是用类似SimpleCursorAdapter

挑逗你的智慧:mysql中的返回数据怎么转换成xml文档形式??

问题描述 我现在想要将mysql数据库中查询的结果以xml文档的形式返回给我,大家有没有好的办法,最好是mysql自带的FUNCTION:如在oracle中就可以 select DBMS_XMLGEN.GETXML('select * from user') from dual 至于mysql?????? 解决方案 http://www.zxbc.cn/html/20080906/65307.htmlShell> mysql -X -uroot -proot -e "use test; s

在操作将表中的数据填充到DateGrid中是出现如下图的问题,请朋友问指点迷津啊!

问题描述 SqlConnectioncnn=newSqlConnection();cnn.ConnectionString="DataSource=myserver;initialcatalog=school;uid=sa;ped=123";DataSetds=newDataSet();SqlDataAdapterdaStudent=newSqlDataAdapter("Select*FromStudent",cnn);SqlCommandBuilderbuilde

VB中常用的数据类型和C#中数据类型的对应

数据|数据类型 以下是经过我测试的,我在VB中建一个Class,然后用C#引用,最后得出这个对应表VB C#currency decimaldouble doubledate System.DateTimeint shortlong intobject objectsingle floatstring string