android – 从listview传递到gridview

我有一个列表活动,其项目由图像文本组成.我需要允许用户更改视图并使用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和GridView堆叠在FrameLayout中,当您想要在这些视图之间切换时,将可见性GONE设置为一个视图,将VISIBLE设置为另一个视图,然后反之亦然.
>将ListView和GridView放在ViewFlipper
>或者,使用ViewSwitcher>最后,只使用GridView,但是当您想要转换到列表视图时,以编程方式将列数设置为1.

相关文章

Android性能优化——之控件的优化 前面讲了图像的优化,接下...
前言 上一篇已经讲了如何实现textView中粗字体效果,里面主要...
最近项目重构,涉及到了数据库和文件下载,发现GreenDao这个...
WebView加载页面的两种方式 一、加载网络页面 加载网络页面,...
给APP全局设置字体主要分为两个方面来介绍 一、给原生界面设...
前言 最近UI大牛出了一版新的效果图,按照IOS的效果做的,页...