具有静态选定位置的Android列表视图

时间:2013-01-21 10:59:08

标签: android listview gallery

我正在处理需要自定义列表视图的应用...

列表视图应该像某种垂直图库一样。 在图库中,所选项目始终位于中心位置。

在我的应用程序中,我只使用导航键或遥控器。 因此没有任何投掷或常规滚动效果。

我需要例如我的列表中的第二个元素总是被选中。 如果我想向上移动,所有元素都会向上滚动一个位置,并且必须更改所选项目,但在屏幕上的相同位置(如之前选择的项目)。

这就像画廊一样垂直。

有一种简单的方法吗? 是否有垂直图库实施? 如何使画廊小部件垂直? 或者如何自定义列表视图?

TNX!

3 个答案:

答案 0 :(得分:2)

尝试在ListView上设置onClick Listener

ListView listView1=(ListView) findViewById(R.id.listView1);

然后实现一个类类SearchItemClickListener实现OnItemClickListener

并设置listview.onItemClickListenr,您将获得位置和视图。

        Hope this helps

答案 1 :(得分:0)

您可以使用

获取当前可见的第一个位置
mListView.getFirstVisiblePosition(); 

获取当前可见位置及其各自的数据后,您可以执行所需的任务(即在获​​取缩略图或类似内容后显示大图像)。

如果您不想仅依赖于第一个或最后一个位置并想要选择其他可见行,那么您可以执行以下操作,

   public View getView(int position, View convertView, ViewGroup parent)
    {

        int visiblePosition = position % nObjects; // nObjects if the total number of objects to display

        if(visiblePosition == yourDesiredPosition){

         // do your custom work here.

        }

    }

以下是vertical slide show的演示,

希望这会给你一些关于实现你的功能的提示。

答案 2 :(得分:0)

我使用ListView项上的setSelected()方法管理它并管理键侦听器。 没有找到更聪明的方法来处理这个问题。