安卓开发笔记——通过SharePreferences实现Adapter向Activity传递数据

笔者在实现仿京东商品分类功能时,需要点击右边商品小类(RightAdapter)跳转到相应的商品搜索列表(SortSearchActivity),为了实现这一功能,需要解决两个问题:

1.为RightAdapter中的商品小类设置监听,通过Intent实现界面的跳转;

2.跳转之后将所点击项目的值(此处为“oppo”)传给相应Activity(此处为SortSearchActivity),实现搜索并将商品详情显示出来。

具体实现效果如下图所示(点击oppo):
安卓开发笔记——通过SharePreferences实现Adapter向Activity传递数据_第1张图片
安卓开发笔记——通过SharePreferences实现Adapter向Activity传递数据_第2张图片

1.如何解决界面跳转问题,通过Context实现:

Intent intent = new Intent(mContext, SortSearchActivity.class);
mContext.startActivity(intent);

2.如何解决传值问题,通过SharePreferences实现:

RightAdpter(此处kindItemBean.getName()为所需要的传递的数据):

SharedPreferences sp = mContext.getSharedPreferences("data", MODE_PRIVATE);
//获取编辑器
SharedPreferences.Editor editor = sp.edit(); 
//存入String型数据
editor.putString("goodsname", kindItemBean.getName()); 
Log.i(TAG, "goodsname:" + sp);
//提交修改,否则不生效
editor.commit();     

SortSearchActivity:

//获取分类界面点击的物品,展示出搜索结果
SharedPreferences sp = getSharedPreferences("data", MODE_PRIVATE);
//第二个参数为缺省值,如果不存在该key,返回缺省值
String goodsname = sp.getString("goodsname", "");
Log.i(TAG, "goodsname:" + goodsname);
etSearch.setHint(goodsname); //etSearch为搜索框
goodsKeyWord = goodsname;    //goodsKeyWord为搜索关键字

你可能感兴趣的:(安卓开发)