2017-01-24 2 views
-1

Извините за это название, но я должен быть конкретным, насколько могу, чтобы получить хороший ответ. У меня есть пользовательский список с пользовательским адаптером. Вот мой код для определения моих элементов в пользовательском макете.java- Проблемы при использовании пользовательского адаптера и макета для списка?

String[] listviewTitle = new String[]{ 
     "lstviewitem", "lstviewitem", "lstviewitem", "lstviewitem", 
     "lstviewitem", "lstviewitem", "lstviewitem", "lstviewitem9", 
     "lstviewitem","lstviewitem", "lstviewitem", "lstviewitem" 

};//12 




int[] listviewbutton = new int[]{ 
     R.drawable.ic_action_right, R.drawable.ic_action_right, R.drawable.ic_action_right, R.drawable.ic_action_right, 
     R.drawable.ic_action_right, R.drawable.ic_action_right, R.drawable.ic_action_right, R.drawable.ic_action_right, 
     R.drawable.ic_action_right, R.drawable.ic_action_right, R.drawable.ic_action_right, R.drawable.ic_action_right, 
}; 

Так вот за титул, и только кнопка, есть больше, но это, что я хочу, чтобы ты помог мне в этом. Для сдачи их:

List<HashMap<String, String>> aList = new ArrayList<HashMap<String, String>>(); 

     for (int i = 0; i < 8; i++) { 
     HashMap<String, String> hm = new HashMap<String, String>(); 
     hm.put("listview_title", listviewTitle[i]); 
     hm.put("listview_discription", listviewShortDescription[i]); 
     hm.put("listview_image", Integer.toString(listviewImage[i])); 
     hm.put("listview_duration", listviewNumber[i]); 
     hm.put("listviewrecornot",listviewrecornot[i]); 
     hm.put("listviewbutton", Integer.toString(listviewbutton[i])); 
       aList.add(hm); 
     } 
    String[] from = {"listview_image", "listview_title", "listview_discription", "listview_duration", "listviewrecornot", "listviewbutton"}; 
    int[] to = {R.id.listviewImage, R.id.title, R.id.locationlst, R.id.number, R.id.recornot, R.id.btnGO}; 

    SimpleAdapter simpleAdapter = new SimpleAdapter(getBaseContext(), aList, R.layout.list_row, from, to); 
    ListView androidListView = (ListView) findViewById(R.id.listview_c); 
    androidListView.setAdapter(simpleAdapter); 

Так название останавливается на lstviewitem9? Я не могу понять, как, хотя, он должен работать. Я имею в виду, что это показывает только до lstviewitem9, и они 12 ... Во-вторых, кнопка, я использую для нее правильную иконку. Я хочу к нему, чтобы открыть другую активность в зависимости от выбранного вида, поэтому я сделал это в list_row.xml

android:onClick="myClickHandler" 

и в Java:

 if (listview_c.getSelectedItem().equals("ListViewItem1")); 
    startActivity(new Intent(customlistview.this, ListViewItem1.class)); 
} 

и так далее .. но я не могу справиться. СООБЩЕНИЕ

+1

'для (INT I = 0; I <8; я ++)' - Вы добавляете только 8 элементов в 'aList', 8-й' String' в 'listviewTitle', являющийся' 'lstviewitem9''. Остальная часть вашего вопроса не очень ясна. –

+0

Lol, не заметил. Спасибо, в любом случае. Btw, я исправил остальную часть своего вопроса – John

+0

Эй, я сделал это для (int i = 0; i <13; i ++), но когда я его открываю, он отправляет мне сообщение: Это приложение не отвечает? – John

ответ

0
int[] listviewbutton = new int[]{ 
    R.drawable.ic_action_right, R.drawable.ic_action_right, R.drawable.ic_action_right, R.drawable.ic_action_right, 
    R.drawable.ic_action_right, R.drawable.ic_action_right, R.drawable.ic_action_right, R.drawable.ic_action_right, 
    R.drawable.ic_action_right, R.drawable.ic_action_right, R.drawable.ic_action_right, R.drawable.ic_action_right, 

};

Существует дополнительная запятая после последнего R.drawable.ic_action_right

0

я думаю, что вы не добавляя 12 пунктов к адаптеру.

проверить, что вы делаете здесь:

for (int i = 0; i < 8; i++) {} 

, ограничивая цикл до 8, вы не получите 12 пунктов

Смежные вопросы