MainActivity 如下:
package cn.han.listview01;
import android.app.Activity;
import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.ListView;
public class MainActivity extends Activity {
private ListView lv_music;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ListView list1 = (ListView) findViewById(R.id.list1);
String arr1[] = {"1111111111","222222222222","3333333333"};
ArrayAdapter adapter1 = new ArrayAdapter<>(this,R.layout.array_item,arr1);
list1.setAdapter(adapter1);
}
}
2.app 一进去页面
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="cn.han.listview01.MainActivity">
<ListView
android:layout_width="368dp"
android:id="@+id/list1"
android:entries="@array/books"
android:pider="#f00"
android:piderHeight="2px"
android:padding="10dp"
android:layout_height="wrap_content" />
</android.support.constraint.ConstraintLayout>
3.单个item 页面
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:id="@+id/textView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:textSize="24dp"
android:padding="10dp"
android:shadowColor="#f0f"
android:shadowDx="4"
android:shadowDy="4"
android:shadowRadius="2"
android:text="TextView" />
</LinearLayout>
现在控制台提示 03-30 16:32:56.357 15648-15648/cn.han.listview01 E/ArrayAdapter: You must supply a resource ID for a TextView
,但是我在 adapter 中是添加了 单个item的 xml 布局的嘛,有谁知道这个怎么回事吗?
Vous devez spécifier la chaîne pour remplir ce contrôle, utilisez ce constructeur
Le code est le suivant :
Vous pouvez également utiliser votre structure, mais R.layout.array_item doit utiliser textView comme nœud racine
Lorsque vous utilisez Listview, si vous souhaitez utiliser une mise en page personnalisée, vous devez écrire un adaptateur, sauf si votre mise en page personnalisée ne contient qu'une seule Textview