Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/231.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中的自定义adapterview setselection实现_Android_Android Adapterview - Fatal编程技术网

Android中的自定义adapterview setselection实现

Android中的自定义adapterview setselection实现,android,android-adapterview,Android,Android Adapterview,我正在修改一个文件。如何实现AdapterView的setSelection()?调用adapterview的setSelection()方法时,必须采取哪些步骤 我试图浏览列表视图的源代码,但没有多大帮助。试试列表视图() listView.setOnItemClickListener(新的OnItemClickListener(){ @凌驾 public void onItemClick(AdapterView父视图、视图v、整型位置、长id){ } }); 根据,您必

我正在修改一个文件。如何实现AdapterView的
setSelection()
?调用adapterview的
setSelection()
方法时,必须采取哪些步骤

我试图浏览列表视图的源代码,但没有多大帮助。

试试列表视图()

listView.setOnItemClickListener(新的OnItemClickListener(){
@凌驾
public void onItemClick(AdapterView父视图、视图v、整型位置、长id){
}           
});

根据,您必须将所选项目保存在某处,向用户显示此项目已被选中(如果您未处于触摸模式),并且您需要将视图滚动到此项目。

具有,这是一个以水平方式滚动的安卓ListView小部件。在这个类中,它描述了如何实现AdapterView的
setSelection()

保存所选位置并将其传递给BaseAdapter类。(必须实现自定义的基本适配器类)


然后在getView()方法中,通过检查position==selectedPosition,根据需要进行更改。(注意:您应该调用notifyDatasetChange()方法来再次调用getView()方法)。

我想实现setSelectionMethod(),onItemClickListener工作正常。嗨,我真的不明白您需要什么。如果您在修改适配器之前选择了一个项目,而在修改适配器之后选择的位置将是相同的,我想您是在尝试吗?我想实现setSelection()方法。更清楚地说,在填充适配器之后,当我的适配器开始呈现时,列表中最左边的项是0。但是如果我调用
setSelection(4)
则最左边的项将是列表的5项OK,在adapter类中创建一个公共方法,在该方法中重置数组列表(即从您必须开始列表的位置开始,我的意思是从第5项开始,意味着从arraylist中删除最多第4项,并调用此。setNotifyDatasetChanged()在该方法中。但我不想从列表中删除前4个条目。也许我无法向您解释我需要什么。只需尝试任何标准adapterview(如gallery、Listview、Gridview)的setSelection()和发生的事情。嘿,我也有同样的问题。我尝试实现“选择”通过保存单击项目的位置,使用onItemClick。但是notifyDataSetChanged()无法像我需要的那样工作:(…你解决了这个问题吗???@Mirko不,我仍然有同样的问题
listView.setOnItemClickListener(new OnItemClickListener(){
            @Override
            public void onItemClick(AdapterView<?> parent, View v, int position,long id) {  

            }           
        });