一个Adapter可以被多个Activity共用么

一个Adapter可以被多个Activity共用么,第1张

可能需要在一个Activity中显示多个ViewPager,如GridView或ListView中以ViewPager做Item。

在Fragment的onCreateView函数中添加断点,结果发现只有第一个ViewPager的Fragment被初始化了。

排查发现在FragmentPagerAdapter中的instantiateItem函数中FragmentManager以container的id加fragment的position为标记。导致第一个ViewPager的position初始化后进了缓存,第二个ViewPager的position1就直接从缓存中获取数据

最近写的一个商城APP,布局比较复杂,其中有需要使用到Recyclerview嵌套RecyclerView的地方。 另外,本例子使用的Adapter框架为BaseQuickAdapter 。如果有使用到其他的Adapter框架需要自己适当修改。

BaseQuickAdapter 框架 Github地址: >

现在我是要把listview(每个item包含服务器中获取的和自己定义的一个顺序号)中的每一项item中的所有数据传到另一个Activity中,然后显示出来。但是我现在出现的问题是显示不出来。我是菜鸟一个,希望各路大神帮我解决一下,看一下我的代码哪里出问题了,还有另一个activity接收参数那边应该怎么写。下面是我的代码

private ListView myQQ;

private byte pic;

public String[] names = new String[]{"01", "02", "03", "04", "05"};

private SimpleAdapter adapter=null;

private List<Map<String, Object>> items=new ArrayList<Map<String,Object>>();

private Bitmap bitmap;

protected void onCreate(Bundle savedInstanceState) {

superonCreate(savedInstanceState);

setContentView(Rlayoutcanyin);

Intent intent=getIntent();

Bundle bundle=intentgetExtras();

int length = bundlegetInt("length");

byte pic[] = bundlegetByteArray("data");

final Bitmap bitmap= BitmapFactorydecodeByteArray(pic,0,length);

int w = bitmapgetHeight();

int h = bitmapgetWidth();

Logd("taoyouyou", "w : " + w + ", h : " + h);

myQQ = (ListView) findViewById(RidmyQQ);//获取到下拉列表

for (int i = 0; i < 10; i++) {

Map<String, Object> item = new HashMap<String, Object>();

itemput("icon",bitmap);

itemput("name", names[i]);

thisitemsadd(item);

}

thisadapter = new SimpleAdapter(this, thisitems, Rlayoutitem, new String[] {"icon", "name" }, new int[] { Ridicon, Ridname });

thismyQQsetAdapter(thisadapter);

adaptersetViewBinder(new ViewBinder() {

@Override

public boolean setViewValue(View view, Object data,

String textRepresentation) {

if(view instanceof ImageView ){

ImageView iv=(ImageView)view;

ivsetImageBitmap(bitmap);

return true;

}else{

return false;

}

}

});

thismyQQsetOnItemClickListener(new OnItemClickListenerImpl());

}

public class OnItemClickListenerImpl implements OnItemClickListener {

public void onItemClick(AdapterView<> arg0, View arg1, int arg2,

long arg3) {

Intent intent=new Intent(canyinthis,discountclass);

Map<String, String> map = (Map<String, String>)myQQgetItemAtPosition(arg2);

intentputExtra("bitmap", mapget("bitmap"));

intentputExtra("name", mapget("names"));

startActivity(intent);

}}<map<map</map</map

主activity从数据库查询数据后显示到listview列表里,然后点击listview列表的其中一项后可以跳转到另一个activity并把当前项的内容显示到这个activity中。下面是我写的部分主要代码。

SQLiteDatabase db = new dbhelper(DiaryListthis, "DiarBookdb", null, 1)

getWritableDatabase();

Cursor c = dbrawQuery("select from DiaryList", null);

SimpleCursorAdapter adapter = new SimpleCursorAdapter(DiaryListthis,

Rlayoutlistuse, c,

new String[] { "_id", "title", "context" }, new int[] {

Ridtitleo, Ridtitlep, Ridtitleq });

setListAdapter(adapter);

这个是提取数据库内容然后显示在列表里

list = thisgetListView();

listsetOnItemClickListener(new AdapterViewOnItemClickListener() {

public void onItemClick(AdapterView<> parent, View view,

int position, long id) {

Map<String, Object> map = (Map<String, Object>) list

getItemAtPosition(position);

String userid = mapget("_id")toString();

String name = mapget("title")toString();

String age = mapget("context")toString();

然后利用Intent传数据我会,主要就是上面Map那里总报错,求大神啊!

}

});

1、获取选中值要通过spinner的setOnItemSelectedListener()事件来 *** 作,根据spinner绑定值的方式的不一样,获取选中值的方式略有不同。

2、如果没有用实体层绑定数据的话,诸如通过

SimpleAdapter adapter = new SimpleAdapter(

HRInputBase_Activitythis, items, Rlayoutsp_item,

new String[] { "text", "value" }, new int[] {

Ridsp_text, Ridsp_value });

sp_privincesetAdapter(adapter);

这种方式绑定的。获取的方式为:

TextView ProvinceTxt = (TextView) sp_privincegetSelectedView()

findViewById(Ridsp_value); // 得到选中的选项Id

String codeString = ProvinceTxtgetText()toString();

如果使用的是实体层的话,在setOnItemSelectedListener()事件中根据点击的索引值获取相对应的实体类,然后从实体类中获取对应得Code和Value值,相对来说,使用实体层更加的方便,代码整洁。

3、两者都使用的是Adapter数据集的绑定,主要是考察对adapter的知识,可以对这方面多学习一点。

以上就是关于一个Adapter可以被多个Activity共用么全部的内容,包括:一个Adapter可以被多个Activity共用么、RecyclerView嵌套RecyclerView的子控件点击事件获取、android listview的单击某行时候数据是从别的activity里面一个线程传输过来,接收的时候顺序不对等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9479403.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-28
下一篇 2023-04-28

发表评论

登录后才能评论

评论列表(0条)

保存