我是新來的android,我花了最後2天嘗試以前的例子和在線解決方案,但我似乎無法讓我的頭在它:(Android的ListView動態按鈕爲每一行調用動態偵聽器
我能夠顯示列表視圖,從在線解析一些JSON並存儲書名,書籍描述和書籍ID,並將這些數據顯示在列表視圖中我希望能夠將「下載」按鈕在ListView的每一行中,每個按鈕將對應於Click()上的書本ID,並且動作偵聽器將通過將該ID附加到URL來下載該書。 例如www.books.com/download_book1或/ download_book2 ... 。
這裏是我的代碼。 Catalogue.java類
public class Catalogue extends ListActivity {
private JSONObject json;
private ListView lv;
private ArrayList<Integer> alKey = new ArrayList<Integer>();
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState); //icicle
setContentView(R.layout.shelflist);
ArrayList<HashMap<String, String>> mylist = new ArrayList<HashMap<String, String>>();
....
try{
JSONArray entries = json.getJSONArray("entries");
for(int i=0;i<entries.length();i++){
HashMap<String, String> map = new HashMap<String, String>();
JSONObject e = entries.getJSONObject(i);
alKey.add(e.getInt("key"));
map.put("id", String.valueOf(i));
map.put("title", "Title:" + e.getString("title"));
map.put("description", "Description: " + e.getString("description"));
mylist.add(map);
}
}catch(JSONException e) {
Log.e("log_tag", "Error parsing data "+e.toString());
}
ListAdapter adapter = new SimpleAdapter(this, mylist , R.layout.shelfrow,
new String[] { "title", "description" },
new int[] { R.id.item_title, R.id.item_subtitle });
setListAdapter(adapter);
lv = getListView();
lv.setTextFilterEnabled(true);
.....
這是據我得到的。我不知道如何在List中每行添加1個按鈕,併爲每個按鈕分配一個動作偵聽器。 我也有一個shelfrow.xml文件(textView,textView for item_title和item_subtitle)和一個shelflist.xml文件(ListView)。 我有一個shelf.xml文件
我有種讓你在說什麼的那種故事,但我仍然有麻煩的編碼一切正常 – Plokoon 2011-05-21 15:12:02
我正在改變ListAdapter適配器=新的SimpleAdapter到MyListAdapter – Plokoon 2011-05-21 15:39:10
在我的活動(貨架類)如何將我的hashmap數據(標題和描述)我的適配器? – Plokoon 2011-05-21 15:46:03