求教android问题!从网络得到json解析后,怎么把数据绑定到listview?
小弟初学者在做毕业设计,在从网络获得Json数据解析后想要把数据(如train_no,start_time)绑定到listview显示,在主线程绑定数据我会,但实在是不知...
小弟初学者在做毕业设计,在从网络获得Json数据解析后想要把数据(如train_no,start_time)绑定到listview显示,在主线程绑定数据我会,但实在是不知道怎么在副线程中解决这个问题,请大神们帮忙。我把副线程和json数据代码贴了出来。
展开
3个回答
展开全部
一个ListView的创建需要3个元素。
(1)ListView中的每一列的View。
(2)填入View的数据或者图片等。
(3)连接数据与ListView的适配器。
也就是说,要使用ListView,首先要了解什么是适配器。适配器是一个连接数据和AdapterView(ListView就是一个典型的AdapterView,后面还会学习其他的)的桥梁,通过它能有效地实现数据与AdapterView的分离设置,使AdapterView与数据的绑定更加简便,修改更加方便。
publicclass MyListView extends Activity {
privatestaticfinal String[] strs = new String[] {
"first", "second", "third", "fourth", "fifth"
};//定义一个String数组用来显示ListView的内容private ListView lv;/** Called when the activity is first created. */
@Override
publicvoid onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);
setContentView(R.layout.main);
lv = (ListView) findViewById(R.id.lv);//得到ListView对象的引用 /*为ListView设置Adapter来绑定数据*/
lv.setAdapter(new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_1, strs));
}
}
展开全部
简单啊 ,你在子线程里获取了数据,然后发送到主线程去。在你的代码线程 run() 方法里 添加
new Handler().post(new Runnable() {
@Override
public void run() {
// 这里就是主线程了,将数据绑定到listview的adapter去
//TODO:
}
});
new Handler().post(new Runnable() {
@Override
public void run() {
// 这里就是主线程了,将数据绑定到listview的adapter去
//TODO:
}
});
更多追问追答
追答
UI刷新的肯定放在主线程,这段代码放到我给你的handler里的run方法里那里就是主线程,写的规范点,把这段抽出一个方法,数据作为参数
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
首先将json转换为集合对象,然后使用listview的适配器绑定数据
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询