Я использую следующий код, чтобы использовать ArrayAdapter для моего ListView:хочу использовать свой собственный макет в ArrayAdapter
ArrayList<String> mylist = new ArrayList<String>();
String xml = ParseXMLMethods.getXML();
Document doc = ParseXMLMethods.XMLfromString(xml);
NodeList children = doc.getElementsByTagName(KEY_ITEM);
for (int i = 0; i < children.getLength(); i++) {
Element e = (Element)children.item(i);
mylist.add(ParseXMLMethods.getValue(e, KEY_TITLE));
mylist.add(ParseXMLMethods.getValue(e, KEY_CITY));
mylist.add(ParseXMLMethods.getValue(e, KEY_COUNT));
}
adapter1=new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1,
mylist);
list2.setAdapter(adapter1);
Здесь я могу видеть только название, но я хочу, чтобы увидеть все три в моей ListView Row.For это я создаю другую раскладку R.layout.list_layout2
следующим образом:
Мой макет
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="50dp"
android:paddingLeft="6dp"
>
<TextView
android:id="@+id/title"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceMedium"
android:padding="1dp"
android:textSize="16dp"
android:textStyle="bold"
/>
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<TextView
android:id="@+id/subtitle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingLeft="1dp"
android:textSize="12dp"
android:textColor="#000000" />
<TextView
android:id="@+id/subtitle2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingLeft="10dp"
android:textSize="12dp"
android:textColor="#000000"
android:layout_toRightOf="@+id/subtitle" />
</RelativeLayout>
</LinearLayout>
Как я могу использовать этот макет?
Я уже использовал описанный выше метод, но проблема в том, что всякий раз, когда я вызывал этот пользовательский адаптер на своей основной странице активности, ему нужен массив KEY_TITLE, KEY_CITY, KEY_COUNT.unable, чтобы получить этот массив String после синтаксического анализа XML. также –
В этом случае, похоже, ваша проблема также связана с разбором XML. Как выглядит ваш 'mylist' ArrayList сразу после последнего оператора' .add'? Он содержит именно то, что вы ищете? Во-вторых, если у вас есть сложный ListView (т. Е. Более одного TextView), вы не можете просто использовать базовый ArrayAdapter. Вы также должны создать пользовательский адаптер. [См. Этот учебник для справки] (http://mrbool.com/how-to-create-list-in-android-applications-with-array-adapter/28038). – erad