【发布时间】:2018-05-04 20:09:44
【问题描述】:
我想从我的适配器访问 SharedPrefences,因为我想检查一个变量以将 ImageView 设置为可见或消失。
class MainAdapter extends RecyclerView.Adapter<MainAdapter.ViewHolder> implements View.OnClickListener, View.OnLongClickListener{
ArrayList<String> mData;
public ImageView mMinus;
public static final String SHARED_PREFS_DATA = "sharedPrefsData";
public MainAdapter(ArrayList<String> data) {
mData = data;
}
@NonNull
@Override
public MainAdapter.ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.row, parent, false);
return new ViewHolder(view);
}
@Override
public void onBindViewHolder(@NonNull MainAdapter.ViewHolder holder, int position) {
holder.mText.setText(mData.get(position));
SharedPreferences sharedPreferences = getSharedPreferences(SHARED_PREFS_DATA, 0);
int a = sharedPreferences.getInt("visible", 0);
if(a == 0)
holder.mMinus.setVisibility(View.GONE);
else
holder.mMinus.setVisibility(View.VISIBLE);
}
错误:找不到符号方法 getSharedPreferences(String,int)
【问题讨论】:
-
适配器没有
getSharedPreferences方法。先检查哪个类有这个方法。 -
在适配器内部使用 SharedPreferences 似乎是个坏主意,你为什么要这样做?
标签: android sharedpreferences android-recyclerview