【发布时间】:2017-09-23 18:26:19
【问题描述】:
我正在尝试在我的应用程序中制作收藏夹模块。如果用户单击收音机的收藏按钮,该收音机必须显示在收藏夹屏幕中。但只是最后点击了收藏夹屏幕中显示的收音机。我想在收藏夹中保存多个收音机。我在哪里做错了?提前致谢。
这是 RadioFragment 中最喜欢的按钮
add_favorites_button= (Button) view.findViewById(R.id.add_favorites_button);
add_favorites_button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
SharedPreferences settings = getActivity().getSharedPreferences("PREFS", 0);
SharedPreferences.Editor editor = settings.edit();
editor.putString("radio_link", radio_play_link);
editor.putString("radio_namee", radio_name);
editor.commit();
}
});
我正在尝试获取这些值并将 ArrayList 放入 FavoritesFragment 中。为了显示接收到的值,我将它们发送到 textview 中尝试。
public class FavoritesFragment extends Fragment {
public FavoritesFragment() {
// Required empty public constructor
}
TextView radio_name_txt, radio_link_txt;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
View view= inflater.inflate(R.layout.fragment_favorites, container, false);
List<String> radio_name_list = new ArrayList<>();
List<String> radio_link_list = new ArrayList<>();
SharedPreferences settings = getActivity().getSharedPreferences("PREFS",0);
radio_name_list.add(settings.getString("radio_namee", ""));
radio_link_list.add(settings.getString("radio_link", ""));
radio_name_txt = (TextView) view.findViewById(R.id.radio_name_txt);
radio_link_txt = (TextView) view.findViewById(R.id.radio_link_txt);
String a= "";
String b= "";
for (int i =0; i<radio_name_list.size(); i++) {
a = a +radio_name_list.get(i);
b = b +radio_link_list.get(i);
}
radio_name_txt.setText(a);
radio_link_txt.setText(b);
return view;
}
}
【问题讨论】:
-
你有 7000 把钥匙吗?我建议你使用 SQLite。
标签: android sharedpreferences android-sharedpreferences