Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/11.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 将鼠标悬停在listview上时更改其背景色_Android - Fatal编程技术网

Android 将鼠标悬停在listview上时更改其背景色

Android 将鼠标悬停在listview上时更改其背景色,android,Android,我正在用android开发一个包含listview的项目。我的目标是,当我们只需触摸listview的任何一行或将鼠标指针放在任何列表项上时,其背景颜色必须更改为灰色。当我们滚动它时,也必须实现这一点。有人能帮我解决吗 我的代码是 protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity

我正在用android开发一个包含listview的项目。我的目标是,当我们只需触摸listview的任何一行或将鼠标指针放在任何列表项上时,其背景颜色必须更改为灰色。当我们滚动它时,也必须实现这一点。有人能帮我解决吗

我的代码是

    protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    setContentView(R.layout.activity_main);
    populateListView();


private void populateListView() {
String[] str={"apple,orange,grape,strawberry,guava,pineapple,etc"};
ArrayAdapter<String>adapter=new ArrayAdapter<String>(this, R.layout.textview,str);
ListView list=(ListView)findViewById(R.id.listviewone);
list.setAdapter(adapter);
}
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
populateListView();
私有void populateListView(){
String[]str={“苹果、橘子、葡萄、草莓、番石榴、菠萝等”};
ArrayAdapteradapter=新的ArrayAdapter(this,R.layout.textview,str);
ListView列表=(ListView)findViewById(R.id.listviewone);
list.setAdapter(适配器);
}
my activity_main.xml

 <ListView
    android:id="@+id/listviewone"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:cacheColorHint="#19bee6"
    android:listSelector="@drawable/listselect"
    android:scrollbars="none">
</ListView>

listselect.xml

 <?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
 <item android:state_selected="true" android:drawable="@drawable/orange_color"/> 

<item android:state_pressed="true" android:state_accelerated="true"     android:drawable="@drawable/red_color"/> 
<item android:state_hovered="true" android:drawable="@drawable/orange_color"/>
<item android:state_focused="true" android:drawable="@drawable/red_color"/> 
<item android:state_active="true" android:drawable="@drawable/red_color"/> 
<item android:drawable="@drawable/textgradient"/> 


你可以试试这个:

<selector xmlns:android="http://schemas.android.com/apk/res/android">

    <item android:drawable="@android:color/black" android:state_enabled="false" android:state_focused="true"/>
    <item android:drawable="@android:color/holo_red_dark" android:state_pressed="true"/>
    <item android:drawable="@android:color/holo_red_dark" android:state_focused="true"/>

</selector>


您也可以查看:

谢谢您的回复。我尝试过,但它不起作用。当我触摸listview的行时,它不会改变背景颜色。如何保持该行背景颜色不变,直到我按下另一行??