Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/227.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
Java Android studio单击Listview并设置视图_Java_Android_Listview - Fatal编程技术网

Java Android studio单击Listview并设置视图

Java Android studio单击Listview并设置视图,java,android,listview,Java,Android,Listview,我试图在用户单击时显示所选的视图,但在滚动后它总是会获得其他视图。这是下面的图片。 final String[]str=新字符串[]{MediaStore.Audio.Media.TITLE,MediaStore.Audio.Media.ARTIST}; final int[]displayview=新int[]{R.id.music_name}; SimpleCrsorAdapter=新的SimpleCrsorAdapter(这个,R.layout.music\u项,光标,str,Disp

我试图在用户单击时显示所选的视图,但在滚动后它总是会获得其他视图。这是下面的图片。

final String[]str=新字符串[]{MediaStore.Audio.Media.TITLE,MediaStore.Audio.Media.ARTIST};
final int[]displayview=新int[]{R.id.music_name};
SimpleCrsorAdapter=新的SimpleCrsorAdapter(这个,R.layout.music\u项,光标,str,DisplayView,CursorAdapter.FLAG\u REGISTER\u CONTENT\u OBSERVER);
音乐列表。设置适配器(适配器);
music_list.setOnItemClickListener(新的AdapterView.OnItemClickListener(){
int select_item=-1;
@凌驾
公共视图单击(AdapterView AdapterView、最终视图视图、最终int i、长l){
如果((选择_项==-1)| |(选择_项==i)){
视图.背景颜色(颜色.灰色);
index=cursor.getString(cursor.getColumnIndex(“标题”);
音乐列表1.背景色(颜色:白色);
Log.d(“i”,;:“+i);
}否则{
视图.背景颜色(颜色.灰色);
视图2.setBackgroundColor(颜色:白色);
index=cursor.getString(cursor.getColumnIndex(“标题”);
音乐列表1.背景色(颜色:白色);
}
view2=视图;
选择_item=i;
}
});

i
是适配器用于屏幕内可见视图的位置,因此使用
l
代替
i
,后者是每行的唯一行id

if ((select_item == -1) || (select_item == l)) {//...}
else{//..}
select_item = l; 
(select_item==i)始终为真
if ((select_item == -1) || (select_item == l)) {//...}
else{//..}
select_item = l;