Я новичок в android, последние 2 дня я потратил на попытки тестировать предыдущие примеры и онлайн-решения, но мне просто не удается в этом разобраться: (
Я могуотобразить представление списка, проанализировать некоторые JSON из Интернета и сохранить название книги, описание книги и идентификатор книги и отобразить эти данные в виде списка. Я хочу иметь возможность поместить кнопку «скачать» в каждой строке для ListView, каждая кнопкабудет соответствовать его идентификатору книги при нажатии (), и слушатель действия загрузит книгу, добавив этот идентификатор в 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);
.....
Это насколько я понимаю. Я не знаю, как добавить 1 кнопку на строку в списке иназначить прослушиватель действий для каждой кнопки. У меня также есть файл shelfrow.xml (textView, textView для item_title и item_subtitle) и файл shelflist.xml (ListView). У меня есть файл shelf.xml с