【发布时间】:2016-06-09 13:53:02
【问题描述】:
我想在下面的代码中通过 SharedPreferences 保存我的 ToggleButton 状态。 请指导我。 非常感谢。
公共类 MyAdapterList 扩展 BaseAdapter { 私有上下文上下文; 私人列表文本; public MyAdapterList(上下文上下文,列表文本){ this.context = 上下文; this.text = 文本; } @覆盖 公共 int getCount() { 返回文本大小(); } @覆盖 公共对象getItem(int位置){ 返回文本.get(位置); } @覆盖 public long getItemId(int position){ 返回位置; } @覆盖 public View getView(final int position, View convertView, ViewGroup parent) { LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); 查看视图 = inflater.inflate(R.layout.item_view, null, false); TextView tv = (TextView) view.findViewById(R.id.textView); tv.setText(text.get(位置)); 字体 tf = Typeface.createFromAsset(context.getAssets(), "fonts/b_titr.ttf"); tv.setTypeface(tf); tv.setTextColor(Color.parseColor("#003366")); tv.setTypeface(tv.getTypeface(), Typeface.BOLD); final ToggleButton toggleButton = (ToggleButton) view.findViewById(R.id.t_button); final MyDatabaseHelper myDatabaseHelper = new MyDatabaseHelper(context); toggleButton.setBackgroundResource(R.drawable.favorite_not_selected); toggleButton.setOnClickListener(new View.OnClickListener() { @覆盖 公共无效 onClick(查看 v){ if (toggleButton.isChecked()) { myDatabaseHelper.insert(text.get(position)); toggleButton.setBackgroundResource(R.drawable.favorite_selected); Toast.makeText(context, "已加入收藏列表", Toast.LENGTH_SHORT).show(); } 别的 { myDatabaseHelper.deletedData(text.get(position)); Toast.makeText(context, "从收藏夹中删除", Toast.LENGTH_SHORT).show(); toggleButton.setBackgroundResource(R.drawable.favorite_not_selected); } } }); 返回视图; } }【问题讨论】:
-
你的意思是你不想对列表中的所有项目都这样做?
-
兄弟请检查我的回答
-
您需要将每个值存储在数据库中,您不能使用首选项,因为您将只保存一个值而不是每个项目的所有值
标签: android listview sharedpreferences baseadapter togglebutton