加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – 如何在android中动态地向listview添加项目

发布时间:2020-12-15 08:44:58 所属栏目:Java 来源:网络整理
导读:有谁能够帮我?我正在尝试在 Android中创建一个ListView,我正在尝试使用代码(不使用XML)将项目加载到其中 这是我到目前为止的代码 tweetList = (ListView)this.findViewById(R.id.tweetListView); TextView tv; for(int i=0;i20;i++) { tv = new TextView(th
有谁能够帮我?我正在尝试在 Android中创建一个ListView,我正在尝试使用代码(不使用XML)将项目加载到其中

这是我到目前为止的代码

tweetList = (ListView)this.findViewById(R.id.tweetListView);
        TextView tv;
        for(int i=0;i<20;i++)
        {
            tv = new TextView(this);
            tv.setText("I'm a textView");
            tweetList.addHeaderView(tv);

        }

        tweetList.invalidate();

我究竟做错了什么?这些项目未在运行时显示

编辑:我根据下面的答案更改了代码,这是我现在的代码

tweetList = (ListView)this.findViewById(R.id.tweetListView);
        ArrayAdapter<TextView> aa = new ArrayAdapter<TextView>(this,R.id.tweetListView);
        tweetList.setAdapter(aa);
        TextView tv;
        for(int i=0;i<20;i++)
        {
            tv = new TextView(this);
            tv.setText("I'm a textView");
            //tweetList.addHeaderView(tv);

            aa.add(tv);

        }

        tweetList.invalidate();

我现在得到一个例外

11-10 01:32:16.002: ERROR/AndroidRuntime(867): android.content.res.Resources$NotFoundException: Resource ID #0x7f050030 type #0x12 is not valid

为什么我现在无法动态添加它们?

解决方法

您需要使用ArrayAdapter并将其添加到ListView.然后只需动态地向ArrayAdapter添加元素.

例如:

ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(context,android.R.layout.simple_list_item_1);
tweetList.setAdapter(arrayAdapter);
// ...
arrayAdapter.add("New Item");

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读