安卓ArrayAdapter项目更新 [英] android ArrayAdapter items update

查看:189
本文介绍了安卓ArrayAdapter项目更新的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有ArrayAdapter这个项目的结构:

 < XML版本=1.0编码=UTF-8&GT?;
< RelativeLayout的...>

         <的TextView
             机器人:ID =@ + ID / itemTextView
             ... />
< / RelativeLayout的>
 

和添加此适配器,以便:

  mAdapter =新的ArrayAdapter<字符串>(这一点,R.layout.item,
                                            R.id.itemTextView,itemsText);
 

一切都很好,但我想更新适配器的项目文本。我找到了解决方法

  mAdapter.notifyDataSetChanged();
 

但不知道如何使用它。请帮助。

UPD 我的code:

 的String [] itemsText = {123,345,567};
ArrayAdapter<字符串> mAdapter;
 

的onCreate

  mAdapter =新的ArrayAdapter<字符串>(这一点,R.layout.roomitem,
                                              R.id.itemTextView,itemsText);
setListAdapter(mAdapter);
itemsText = {789,910,1011};
 

的onClick

  mAdapter.notifyDataSetChanged();
//这是不工作
 

解决方案

我觉得这样的事情

 公共无效updatedData(名单itemsArrayList){

    mAdapter.clear();

    如果(itemsArrayList!= NULL){

        对于(Object对象:itemsArrayList){

            mAdapter.insert(对象,mAdapter.getCount());
        }
    }

    mAdapter.notifyDataSetChanged();

}
 

I have ArrayAdapter with this items structure:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout ... >

         <TextView
             android:id="@+id/itemTextView"
             ... />
</RelativeLayout>

And add this adapter so:

mAdapter = new ArrayAdapter<String>(this, R.layout.item, 
                                            R.id.itemTextView, itemsText);

All is fine but I want to update text in adapter's items. I found a solution

mAdapter.notifyDataSetChanged();

but do not understand how to use it. Help please.

upd My code:

String[] itemsText = {"123", "345", "567"};
ArrayAdapter<String> mAdapter;

onCreate

mAdapter = new ArrayAdapter<String>(this, R.layout.roomitem, 
                                              R.id.itemTextView, itemsText);
setListAdapter(mAdapter);
itemsText = {"789", "910", "1011"};

onClick

mAdapter.notifyDataSetChanged();
//it's dont work

解决方案

I think something like this

public void updatedData(List itemsArrayList) {

    mAdapter.clear(); 

    if (itemsArrayList != null){

        for (Object object : itemsArrayList) {

            mAdapter.insert(object, mAdapter.getCount());
        }
    }

    mAdapter.notifyDataSetChanged();

}

这篇关于安卓ArrayAdapter项目更新的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆