사용자 정의 ListView
을 작성했으며 ListView
을 SimpleAdapter
으로 채운 java로 작성했습니다. 각각 android ListView Simple Adapter, item repeat
setContentView(R.layout.activity_my);
list = (ListView) findViewById(R.id.lvList);
itemList = new ArrayList<HashMap<String, String>>();
itemMap = new HashMap<String, String>();
for (int i = 0; i < songs.length; i++) {
itemMap.put("song", songs[i]);
itemMap.put("artist", artists[i]);
System.out.println(songs[i] + " " + artists[i]);
itemList.add(itemMap);
}
SimpleAdapter adapter = new SimpleAdapter(this, itemList,
android.R.layout.simple_list_item_2, new String[] {"song",
"artist"}, new int[] { android.R.id.text1,
android.R.id.text2 });
list.setAdapter(adapter);
가 지금은 두
String Arrays
노래를 만든 아티스트와
itemList
라는
ArrayList
에
HashMap
을 넣어 다음
HashMap
에 넣어 및 다음은 내 코드입니다. 그런 다음 매개 변수에 기본 목록 항목 ID가있는 어댑터를 설정합니다.
내가 직면 한 문제는 응용 프로그램을 실행할 때 목록보기가 문자열 배열의 마지막 항목과 하위 항목 만 반복적으로 표시한다는 것입니다. 참조 용 이미지가 있습니다. My ListView
왜 이런 일이 발생하는지 알고 싶습니다. 나는 for()
루프 외부에서 itemList.add(itemMap);
을 넣으려고했으나 여전히 작동하지 않았다. 도움이 정말로 적절한 설명과 함께 감사하게 될 것입니다, 왜냐하면 나는 이것에 대해 조금 새로운 것입니다. 고맙습니다!
'HashMap'에 같은 키를 계속 추가하고 있습니다. –
어 약간의 정교가 도움이 될 것입니다. – SynerFlow