作者tstanly ()
看板java
标题Re: [问题] Android listview
时间Wed Feb 10 02:03:35 2010
※ 引述《rex0625 (rex)》之铭言:
: 小弟在学习listview的时候遇到一些问题
: 当以下程式码放在activity的最上面时可以正常显示出listview
: 但是如果不是放在最上面而是先处理socket後才放 就不能显示
: 因为小弟想要根据socket获得的资料 来改变list内容 然後显示
: String test[] ={"ddd","dddd"};
: ArrayAdapter<String> arrayData = new ArrayAdapter<String>(
: this
: , android.R.layout.simple_list_item_1
: , test
: );
: ListView lv = new ListView(this);
: lv.setAdapter( arrayData );
: setContentView(lv);
: 不知道可能哪边出了问题呢?
: 谢谢回答
我自己理解是...setContentView是一定要放在前面的
因为你进入此activity一定须要先读入某个layout xml给此activity
而写listview主要两种方法
a.
一开始你的class extends ListActivity
当然layout xml也要写入listview这个widget
然後在setContentView完後
抓完你的socket资料,再使用setAdapter(arrayData)
b.
一开始class extends Activity //非ListActivity
接着一样layout xml里面定义你会用到的listview widget
一样一开始setContentView
接着新增listview物件
ListView lv = (ListView) findViewById(R.id.listview_widget_id);
然後抓你的socket资料到arrayData後
再使用你的lv物件
lv.setAdapter(arrayData)
这两种方法我自己都写过
都可work
试试看吧~
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.116.133.98
※ 编辑: tstanly 来自: 140.116.133.98 (02/10 02:04)
1F:→ superlubu:根据我的理解... setContentView 并不需要放最前面 02/10 11:08
2F:推 rex0625:我再试试看 感谢回答 02/10 13:06