选择列表项时更改按钮的颜色
change color of button when list item is selected
我正在 activity 中处理列表视图,我希望每当我长按任何列表项时,操作栏上的按钮都会更改其颜色,就像假设的一样“ i select
列表项操作栏上的按钮从白色变为灰色 .
listView.setOnItemLongClickListener(new OnItemLongClickListener() {
@Override
public boolean onItemLongClick(AdapterView<?> arg0, View arg1,
int arg2, long arg3) {
// changes the color button ;
return false;
}
});
或者有其他方法可以做到这一点。
我没有足够的声誉来 post 图片首先它看起来像 Before selecting any item and its looks like thisWhen item is long pressed or selected 希望你理解我的问题,
提前致谢
编辑:原问题被误解:
int mPosition = -1;
lv.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() {
public boolean onItemLongClick(AdapterView<?> arg0, View arg1,
int pos, long id) {
if(mPosition!=-1) {
//reset color of previously pressed item to white
lv.getChildAt(mPosition).setBackgroundColor(Color.WHITE);
}
//set current item to fray.
lv.getChildAt(pos).setBackgroundColor(Color.GRAY);
//put value of currently selected item to mPosition.
mPosition = pos;
return true;
}
});
下面是旧答案:
将此添加到您的方法中。
Button button1 = (Button)findViewById(R.id.button1);
if(this condition){
button1.setBackgroundColor(Color.GRAY);
}else{
//whatever..
}
This answer 涵盖相同的原则,但使用资源更详细。
您可以在使用
选择时为列表项赋予颜色
android:listSelector="@color/AnyColor"
在 .xml 文件中.. 见编码
<ListView
android:id="@+id/nameOfYourListview"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_margin="10dp"
android:background="AnyYouWant"
<!--code for color the selected item --> android:listSelector="ColorHereWhichYouWant" >
</ListView>
我正在 activity 中处理列表视图,我希望每当我长按任何列表项时,操作栏上的按钮都会更改其颜色,就像假设的一样“ i select 列表项操作栏上的按钮从白色变为灰色 .
listView.setOnItemLongClickListener(new OnItemLongClickListener() {
@Override
public boolean onItemLongClick(AdapterView<?> arg0, View arg1,
int arg2, long arg3) {
// changes the color button ;
return false;
}
});
或者有其他方法可以做到这一点。
我没有足够的声誉来 post 图片首先它看起来像 Before selecting any item and its looks like thisWhen item is long pressed or selected 希望你理解我的问题, 提前致谢
编辑:原问题被误解:
int mPosition = -1;
lv.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() {
public boolean onItemLongClick(AdapterView<?> arg0, View arg1,
int pos, long id) {
if(mPosition!=-1) {
//reset color of previously pressed item to white
lv.getChildAt(mPosition).setBackgroundColor(Color.WHITE);
}
//set current item to fray.
lv.getChildAt(pos).setBackgroundColor(Color.GRAY);
//put value of currently selected item to mPosition.
mPosition = pos;
return true;
}
});
下面是旧答案:
将此添加到您的方法中。
Button button1 = (Button)findViewById(R.id.button1);
if(this condition){
button1.setBackgroundColor(Color.GRAY);
}else{
//whatever..
}
This answer 涵盖相同的原则,但使用资源更详细。
您可以在使用
选择时为列表项赋予颜色android:listSelector="@color/AnyColor"
在 .xml 文件中.. 见编码
<ListView
android:id="@+id/nameOfYourListview"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_margin="10dp"
android:background="AnyYouWant"
<!--code for color the selected item --> android:listSelector="ColorHereWhichYouWant" >
</ListView>