【发布时间】:2017-08-20 09:08:59
【问题描述】:
我想在片段中使用共享首选项。检查该片段是否第一次运行,如果是,则将另一个值存储到共享首选项中。我不知道为什么它只是不起作用。这是我的代码。
String user_name;
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.item_list_fragment, container, false);
SharedPreferences sp = getActivity().getPreferences(Context.MODE_PRIVATE);
SharedPreferences.Editor edit = sp.edit();
if(sp.getBoolean("isFirst",true)) {
edit.putBoolean("isFirst", false);
edit.putString("First_Name", FirstRunActivity.username).apply();
}
user_name = sp.getString("First_Name","NOT WORKKING");
TextView test = (TextView) view.findViewById(R.id.test);
test.setText(user_name);
}
【问题讨论】:
-
如果
sp.getBoolean("isFirst",true)返回 false(如果它已经设置为 false),则 if 条件不会执行,并且您没有将First_Name设置为SharedPreferences。检查您是否已经有false用于isFirst。
标签: android android-fragments sharedpreferences