【发布时间】:2016-05-04 05:26:34
【问题描述】:
我有一个 Activity,其中单击按钮将一组用户输入数据保存到 SQLite 数据库,然后在 RecyclerView 列表中填充 CardView。我想创建一个计数器,该计数器以默认值零开始,每次单击“保存”按钮时递增 +1(创建一个新的 CardView),然后将该计数器输出到 RecyclerView 列表中的 CardView 上。
我在 OnBindViewHolder 方法的 Adapter 文件中出现 Android Studio 错误,在它开始“holder...”的最后一行我如何从 Activity 获取 Context 到 Adapter 文件?我认为 getSharedPreferences() 允许全局上下文,而 getPreferences() 不起作用。
我通过单击按钮在 Activity 文件中使用 SharedPreferences 设置计数器:
public class Activity extends AppCompatActivity {
...
public void onClickSave(View v) {
...
int totalcount = 0;
SharedPreferences sp = getSharedPreferences("Share_Prefs",Context.MODE_PRIVATE);
SharedPreferences.Editor editor = sp.edit();
editor.putInt("int_key", ++totalcount);
editor.apply();
RecyclerView Adapter 文件有如下代码:
public class Adapter extends RecyclerView.Adapter<Adapter.ListViewHolder> {
....
Context context;
....
public Adapter(Context context, List<UserData> dbList) {
this.context = context;
public class ListViewHolder extends RecyclerView.ViewHolder {
TextView cardBlankTextNums;
public ListViewHolder(View itemView) {
super(itemView);
cardBlankTextNums = (TextView)itemView.findViewById(R.id.cardBlankTextNums);
@Override
public int getItemCount() {
return dbList.size();
}
@Override
public void onBindViewHolder(final ListViewHolder holder, final int position) {
int totalcount = 0;
holder.cardBlankTextNums.setText(dbList.get(position).getSharedPreferences.edit.getInt("int_key",totalcount));
【问题讨论】:
-
dbList.get(position).getSharedPreferences...语法不正确
-
对正确的语法有什么想法吗?
-
我会在下面发布答案
标签: android sharedpreferences android-recyclerview