Android如何从Activity传递值到Adapter

7

我希望能够从活动传递变量到适配器。

我的适配器如下所示:

  public SampleAdapter(Activity context, ArrayList<SampleBeans> data){
  this.context = context;
  this.data = data;
  }

我的活动看起来像这样:
  newadapter = new SampleAdapter(this);
  newadapter.setId(Login_uuid_value);

给我一个错误,样本适配器不能应用于该活动。

4
发送数据的方式如下:newadapter = new SampleAdapter(this,data),其中this是指当前上下文,data是要传递的数据。 - Kiran Dsouza
2个回答

12

只需将这些值添加到构造函数中即可。

public SimpleAdapter(Activity context, ArrayList<SimpleBeans> data, String mystring, int myInt){
  //use datas here
}

并且像这样使用它

myAdapter = new SimpleAdapter(this, data, myString, myInt);

显然,您可以设置任何您想要的数据,我的只是一些示例。

在您的情况下,您只需要将arrayList添加到构造函数中即可。

myAdapter = new SimpleAdapter(this, myArrayList);

3

在 Activity 中声明您的适配器

private ChatsAdapter chatsAdapter;

在Activity的OnCreate中初始化您的适配器(sendingEntity将是您想要传递的字符串)

chatsAdapter = new ChatsAdapter(lIndividualChats, sendingEntity);

在适配器中声明变量

private String entity;

在Adapter构造函数中捕获它

public ChatsAdapter(List<ChatModel> individualChats, String sendingEntity) {

    this.individualChats = individualChats;
    entity = sendingEntity;

}

在您的适配器中随意使用它

Log.d(TAG, "entity: " +entity);

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接