찾다

 >  Q&A  >  본문

android - 使用 listView,但是在通过 adapter将数据存进去时,app 发生闪退?

  1. 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 布局的嘛,有谁知道这个怎么回事吗?

天蓬老师天蓬老师2771일 전807

모든 응답(3)나는 대답할 것이다

  • 黄舟

    黄舟2017-04-18 09:20:50

    해당 컨트롤을 채울 문자열을 지정해야 합니다. 이 생성자를 사용하세요

    으아악

    코드는 다음과 같습니다.

    으아악

    회신하다
    0
  • 伊谢尔伦

    伊谢尔伦2017-04-18 09:20:50

    구조를 사용할 수도 있지만 R.layout.array_item은 textView를 루트 노드로 사용해야 합니다

    회신하다
    0
  • 黄舟

    黄舟2017-04-18 09:20:50

    Listview를 사용할 때 사용자 정의 레이아웃을 사용하려면 사용자 정의 레이아웃에 Textview가 하나만 포함되어 있지 않은 한 어댑터를 작성해야 합니다

    회신하다
    0
  • 취소회신하다