android - 使用 listView,但是在通过 adapter将数据存进去时,app 发生闪退?
天蓬老师
天蓬老师 2017-04-18 09:18:50
[Android讨论组]
  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 一进去页面




    



3.单个item 页面




    

现在控制台提示 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 布局的嘛,有谁知道这个怎么回事吗?

天蓬老师
天蓬老师

欢迎选择我的课程,让我们一起见证您的进步~~

全部回复(3)
黄舟

需要指定字符串填充到那个控件,使用这个构造函数

ArrayAdapter (Context context, 
                int resource, 
                int textViewResourceId, 
                List<T> objects)

代码如下:

ArrayAdapter adapter1 = new ArrayAdapter<>(this,R.layout.array_item,R.id.textView,arr1);
伊谢尔伦

用你那个构造也可以,不过R.layout.array_item必须以textView作为根节点

黄舟

使用Listview时,如果想使用自定义布局,那么需要写适配器Adapter,除非你的自定义布局里只含有一个Textview

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号