我有一个带有列表的活动,其项目由图像+文本组成。我需要允许用户更改视图并使用 gridview 代替它(其元素仍然由相同的图像+文本组成)。
用户可以通过图标菜单来完成此操作:
public boolean onOptionsItemSelected(MenuItem item)
{
if(item.getItemId()== R.id.change_view)
{
// ?
}
}
我尝试设置新适配器(见下文),但它不起作用..我是否必须创建一个新活动才能做到这一点?
if(item.getItemId()== R.id.change_view)
{
setContentView(R.layout.grid_view);
gridViewAdapter = new GridViewAdapter(this,R.layout.bookmark_list_item,MyApp.getItems().findAll());
list.setAdapter(gridViewAdapter);
list.setVisibility(View.VISIBLE);
}
有多种方法可以实现这一目标。
一种解决方案是同时拥有ListView
and GridView
堆放在一个FrameLayout
,当你想在这些视图之间切换时,设置可见性GONE
到一个视图和VISIBLE
到另一个,然后反之亦然。
将两个ListView
and GridView
in a 视图翻转器 http://developer.android.com/reference/android/widget/ViewFlipper.html
或者,使用视图切换器 http://developer.android.com/reference/android/widget/ViewSwitcher.html
最后,仅使用GridView
,但是当您想要转换到列表视图时,请以编程方式将列数设置为 1。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)