我有扩展recyclerview.adapter的适配器类,我需要在此类中使用以下代码,但在“ this”上有错误。
public void addItems(int howMany){
if (howMany > 0) {
int lastInsertedIndex = 11;
for (int i = lastInsertedIndex + 1; i <= lastInsertedIndex + howMany; i++) {
mList.add(PreferenceManager.getDefaultSharedPreferences(this).getString("Item " + i));
notifyItemInserted(mList.size() - 1);
}
lastInsertedIndex = lastInsertedIndex + howMany;
}
}
如何解决这个错误?
最佳答案
在适配器的构造函数中传递上下文,如下所示:
Context context;
public YourAdapter( Context c) {
this.context = c;
}
现在使用此上下文代替它。
传递上下文:
mAdapter = new YourAdapter(getContext());
recyclerview.setAdapter(mAdapter);
如果您正在通过Activity使用适配器,请使用ActivityName.this代替getContext()。