簡體   English   中英

從活動獲取價值到定制陣列適配器

[英]Get value from Activity to custom array adapter

我正在創建聊天應用程序。 所以我想增加用戶從他的朋友那里得到的消息數量。 為了表明我創建了自定義Array adapter是因為我的列表視圖由朋友名稱和notification textview

好友列表

因此,我的list_of_registerd_users活動中包含數據:

來自Firebase的數據

如何將這些數據發送到自定義array adapter類以設置通知視圖:

自定義數組適配器類

public class CustomArrayAdapter extends ArrayAdapter<String> {
    private Context mContext;
    private int mRes;
    private ArrayList<String> data;

    private String numOfMsgs;

    public CustomArrayAdapter(Context context, int resource,
                              ArrayList<String> objects) {

        super(context, resource, objects);

        this.mContext = context;
        this.mRes = resource;
        this.data = objects;
    }

    @Override
    public String getItem(int position) {
        // TODO Auto-generated method stub
        return super.getItem(position);
    }

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {

        View row = convertView;
        LayoutInflater inflater = LayoutInflater.from(mContext);
        row = inflater.inflate(mRes, parent, false);

        String currentUser = getItem(position);

        TextView friendName = (TextView) row.findViewById(R.id.tvFriendName);

        String Frndname = currentUser;
        friendName.setText(Frndname);


        TextView notificationView = (TextView) row.findViewById(R.id.tvNotif);


//here i wanted to get the data noOfMsgs
        Toast.makeText(mContext, "noOfMsgs:" + numOfMsgs, Toast.LENGTH_LONG).show();
            notificationView.setText(noOfMsgs);
        return row;
    }
}

您只需要初始化適配器並將適配器附加到ListView

ArrayList<String> items = new ArrayList<>();
items.add(item1);
items.add(item2);
items.add(item3);

CustomArrayAdapter<String> itemsAdapter = new CustomArrayAdapter<String>(this, android.R.layout.simple_list_item_1, items);
listview.setAdapter(itemsAdapter);

您只需要更新在CustomArrayAdapter中傳遞的列表對象,然后通知該列表。

adapter.notifyDataSetChanged()

當您將列表對象傳遞給適配器時,列表中的所有更改都將在對象“數據”中自動更新。 您只需要更新視圖。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM