Как получить доступ к SharedPrefences из recyclerView адаптера? - PullRequest
0 голосов
/ 04 мая 2018

Я хочу получить доступ к 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)

1 Ответ

0 голосов
/ 04 мая 2018

1.Пропустите context с Activity на adapter, и с помощью этого context вы сможете получить доступ к shared preferences

2.Вы также можете передать ссылку Activity вместо Context

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...