2017-02-04 50 views
0

我有一个方法在适配器内调用addItem()我想从MainAcivity调用它。适配器内的调用方法

public class MessageAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> { 

private static final int VIEW_TYPE_FIRST = 0; 
private static final int VIEW_TYPE_SECOND = 1; 

List<Message> mList; 
Context context; 
LayoutInflater inflater; 

public MessageAdapter(Context context, List<Message> mList) { 
    this.context = context; 
    this.mList = mList; 
    this.inflater = LayoutInflater.from(context); 
} 


public void addItem(Message item) { 
    mList.add(mList.size()+1,item); 
    notifyItemInserted(mList.size()+1); 

} 

回答

2
// Adapter initialization 
MessageAdapter adapter = new MessageAdapter(MainActivity.this, list); 
recyclerview.setAdapter(adapter); // setting your adapter 
adapter.addItem(your model); // Call method using an object of adapter; 

注:每个非静态方法只能通过初始化后,该类的对象访问。

1

那么在你Activity,你将有你的适配器对象。
只需调用yourAdapter.addItem(yourMessage);

相关问题