作者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)
→ superlubu:根據我的理解... setContentView 並不需要放最前面 02/10 11:08
推 rex0625:我再試試看 感謝回答 02/10 13:06