Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/232.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
具有静态选定位置的Android列表视图_Android_Listview_Gallery - Fatal编程技术网

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

具有静态选定位置的Android列表视图,android,listview,gallery,Android,Listview,Gallery,我正在开发需要自定义列表视图的应用程序 列表视图的作用应该类似于某种垂直图库。 在库中,所选项目始终位于中心 在我的应用程序中,我只使用导航键或遥控器。 因此,没有投掷或定期滚动效果 例如,我需要始终选择列表中的第二个元素。 如果我想向上移动,所有元素都会向上滚动一个位置,并且所选项目必须被更改,但在屏幕上的同一位置,就像前面所选的项目一样 这和画廊一样,只是垂直的 有没有一个简单的方法可以做到这一点? 是否有一个垂直画廊的实施? 如何使gallery控件垂直? 或者如何自定义列表视图,使其像这

我正在开发需要自定义列表视图的应用程序

列表视图的作用应该类似于某种垂直图库。 在库中,所选项目始终位于中心

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

例如,我需要始终选择列表中的第二个元素。 如果我想向上移动,所有元素都会向上滚动一个位置,并且所选项目必须被更改,但在屏幕上的同一位置,就像前面所选的项目一样

这和画廊一样,只是垂直的

有没有一个简单的方法可以做到这一点? 是否有一个垂直画廊的实施? 如何使gallery控件垂直? 或者如何自定义列表视图,使其像这样工作


Tnx

尝试在ListView上设置onClick Listener

ListView listView1=(ListView) findViewById(R.id.listView1);
然后实现一个类SearchItemClickListener实现OnItemClickListener

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

        Hope this helps

您可以使用

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.

        }

    }
这是一个演示


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

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

我认为您应该查看索尼xperia的Timescape UI源代码。