在Fragment中使用SharedPreferences,而不是从Class中读取数据,可以按照以下步骤进行操作。
SharedPreferences sharedPreferences = getActivity().getPreferences(Context.MODE_PRIVATE);
SharedPreferences.Editor editor = sharedPreferences.edit();
editor.putString("key", "value");
editor.apply();
String value = sharedPreferences.getString("key", "default value");
完整的示例代码如下:
import android.content.Context;
import android.content.SharedPreferences;
import android.os.Bundle;
import androidx.fragment.app.Fragment;
public class MyFragment extends Fragment {
private SharedPreferences sharedPreferences;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// 创建SharedPreferences对象
sharedPreferences = getActivity().getPreferences(Context.MODE_PRIVATE);
}
private void saveData() {
// 存储数据
SharedPreferences.Editor editor = sharedPreferences.edit();
editor.putString("key", "value");
editor.apply();
}
private String loadData() {
// 读取数据
String value = sharedPreferences.getString("key", "default value");
return value;
}
}
请注意,这里使用的是Fragment的getActivity()方法来获取SharedPreferences对象,因为Fragment没有直接的Context对象。