java - 如何将值从适配器传递到另一个类
问题描述
我正在尝试从项目视图中获取开关状态
这是保存开关的布局文件,我想知道是否从另一个类检查开关
我想在适配器中执行此操作,并通过检查是否检查了开关或从类中获取布局并检查是否检查了开关,将值从适配器传递到另一个类
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="50dp">
<TextView
android:id="@+id/studentName"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Student Name"
android:textSize="25dp"/>
<Switch
android:id="@+id/attendanceSwitch"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_alignParentEnd="true"
android:layout_marginEnd="25dp"
android:checked="true"/>
</RelativeLayout>
这是我的适配器
public class StudentAdapter extends RecyclerView.Adapter<StudentAdapter.ViewHolder> {
private Context context;
private List<User> users;
public StudentAdapter(Context context, List<User> users) {
this.context = context;
this.users = users;
}
@NonNull
@Override
public ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
View view = LayoutInflater.from(context).inflate(R.layout.student_item, parent, false);
return new StudentAdapter.ViewHolder(view);
}
@Override
public void onBindViewHolder(@NonNull final ViewHolder holder, int position) {
final User user = users.get(position);
holder.studentName.setText(user.getStudentname() + " " + user.getLastname());
}
@Override
public int getItemCount() {
return users.size();
}
public class ViewHolder extends RecyclerView.ViewHolder {
public TextView studentName;
public Switch aSwitch;
public ViewHolder(View itemView) {
super(itemView);
studentName = itemView.findViewById(R.id.studentName);
aSwitch = itemView.findViewById(R.id.attendanceSwitch);
}
}
}
解决方案
使用 SharedPreferences
public SharedPreferences sharedpreferences = getSharedPreferences("mySharedPreferences", MODE_PRIVATE);
public SharedPreferences.Editor PrefsEditor = sharedpreferences.edit();
存储数据
PrefsEditor.putString("value", "MyString").apply();
获取数据
String value = sharedpreferences.getString("value", "");
推荐阅读
- bash - Bash sed 匹配行并返回文本文件中的其他行
- java - 按 textview 的长度对回收站视图进行排序
- tfs - TFS 查询昨天完成的项目以使用工作日
- c - 编码音频浮动作品 c
- python - 如何在新的发布请求后阻止 CharField 清除其数据?
- iccube - 如何从 iccube builder 访问 SQL Server 数据库
- php - Laravel - 将处理所有记录的永无止境的队列工作者
- python - 在python中加载大型csv文件“'utf-8'编解码器无法解密”时出错
- kubernetes - 选择哪一个来映射外部 url?
- ffmpeg - 为“拆分”过滤器指定的输入过多