我想将变量从activity传递给适配器。
我的适配器看起来像这样
public SampleAdapter(Activity context, ArrayList<SampleBeans> data){
this.context = context;
this.data = data;
}
我的活动看起来像这样
newadapter = new SampleAdapter(this);
newadapter.setId(Login_uuid_value);
给我错误SampleAdapter无法应用于活动。
答案 0 :(得分:6)
只需将值添加到构造函数中。
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);
答案 1 :(得分:1)
在活动中声明适配器
private ChatsAdapter chatsAdapter;
在Activity中的OnCreate中初始化您的适配器(sendingEntity将是您要传递的字符串)
chatsAdapter = new ChatsAdapter(lIndividualChats, sendingEntity);
在适配器中声明变量
private String entity;
在适配器构造器中将其捕获
public ChatsAdapter(List<ChatModel> individualChats, String sendingEntity) {
this.individualChats = individualChats;
entity = sendingEntity;
}
在适配器的任何位置使用它
Log.d(TAG, "entity: " +entity);