【发布时间】:2023-03-03 08:44:31
【问题描述】:
我有一个简单的列表视图,应该显示一个人的全名。列表视图的每个项目都有三个字段,“名称”、“中间名”和“姓氏”。问题是,我只填充一项。代码的最后一个;这是我得到的输出:
请注意,我的“姓氏”字段中只有文本,这就是问题所在。这是我在我的 java 类上调用 ArrayAdapter 的地方:
ArrayAdapter<String> n = new ArrayAdapter<String>(this, R.layout.teste, R.id.name, name);
this.setListAdapter(n);
ArrayAdapter<String> mn = new ArrayAdapter<String>(this, R.layout.teste, R.id.middlename, middlename);
this.setListAdapter(mn);
ArrayAdapter<String> ln = new ArrayAdapter<String>(this, R.layout.teste, R.id.lastname, lastname);
this.setListAdapter(ln);
这是我的字符串:
String [] name = {"Carol", "Heloisa", "Thaiane", "Hannah"};
String [] middlename = {"Martins", "Bechelli", "Soldani", "Lopes"};
String [] lastname = {"Santos", "Pereira", "Borges", "Machado"};
这是 teste.xml:
<?xml version="1.0" encoding="utf-8"?>
<TableLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TableRow
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:textAppearance="?android:attr/textAppearanceLarge"
android:text="Name: "
android:id="@+id/textView"
android:layout_column="0" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceMedium"
android:id="@+id/name"
android:layout_column="1" />
</TableRow>
<TableRow
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:textAppearance="?android:attr/textAppearanceLarge"
android:text="MiddleName"
android:id="@+id/textView2"
android:layout_column="0" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceMedium"
android:id="@+id/middlename"
android:layout_column="1" />
</TableRow>
<TableRow
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:textAppearance="?android:attr/textAppearanceLarge"
android:text="LastName"
android:id="@+id/textView3"
android:layout_column="0" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceMedium"
android:id="@+id/lastname"
android:layout_column="1" />
</TableRow>
</TableLayout>
为什么我不能填充 3 个 TextView?谢谢。
【问题讨论】:
-
你需要通过扩展
ArrayAdapter来创建自定义适配器 -
您正在覆盖您的设置列表适配器 2 次。姓氏覆盖中间人覆盖名称。我建议使用自定义适配器或扩展 ArrayAdapter。
-
是的,它只会显示姓氏,因为您只能设置一个适配器。因此,您将不得不制作一个自定义适配器!
-
嗯,我该怎么做? @ρяσѕρєяK
-
@BrunoBrandãoBorges:见以下Custom ArrayAdapter for a ListView (Android)
标签: android listview textview android-arrayadapter listadapter