Android 以编程方式设置按下状态下列表项的背景色
嗨,我正试图改变一个列表项的背景颜色,当它被按下时,我需要以编程的方式这样做,因为它需要设置的颜色是从我的活动中的字符串解析出来的。有人知道怎么做吗 我尝试过设置视图的背景,但这只是改变了背景颜色,而不仅仅是当它被选中时Android 以编程方式设置按下状态下列表项的背景色,android,listview,Android,Listview,嗨,我正试图改变一个列表项的背景颜色,当它被按下时,我需要以编程的方式这样做,因为它需要设置的颜色是从我的活动中的字符串解析出来的。有人知道怎么做吗 我尝试过设置视图的背景,但这只是改变了背景颜色,而不仅仅是当它被选中时 public void onItemSelected(View v, int position, JSONObject itemDict, String bgColor) { // TODO Auto-generated method stub
public void onItemSelected(View v, int position, JSONObject itemDict, String bgColor) {
// TODO Auto-generated method stub
if( v.isActivated() == true){
v.setBackgroundColor(Color.parseColor(bgColor));
TextView title = (TextView) v.findViewById(R.id.name);
TextView docType = (TextView) v.findViewById(R.id.doctype);
if(title != null){
title.setTextColor(Color.parseColor(bgColor));
}
if(docType != null){
docType.setTextColor(Color.parseColor("#FFFFFF"));
}
}
Intent sectionMain = new Intent(this, SectionDetail.class);
sectionMain.putExtra("color", bgColor);
sectionMain.putExtra("fullDict", itemDict.toString());
startActivity(sectionMain);
}
您是否尝试过将
设置为TouchListener
view.setOnTouchListener(new OnTouchListener() {
public boolean onTouch(View v, MotionEvent event) {
if (event.getAction() == MotionEvent.ACTION_DOWN) {
v.setBackgroundColor(pressColor);
} else if (event.getAction() == MotionEvent.ACTION_UP) {
v.setBackgroundColor(normalColor);
}
}
return false;
});
假设您已经定义了
pressColor
和normalColor
您是否尝试过在TouchListener上设置
view.setOnTouchListener(new OnTouchListener() {
public boolean onTouch(View v, MotionEvent event) {
if (event.getAction() == MotionEvent.ACTION_DOWN) {
v.setBackgroundColor(pressColor);
} else if (event.getAction() == MotionEvent.ACTION_UP) {
v.setBackgroundColor(normalColor);
}
}
return false;
});
假设您已经定义了按color
和normalColor