我有一個自定義listView與一些意見(如textView和imageView)在其中。 我想在獲取焦點時更改列表項的背景顏色。 我已經爲我的轉換視圖設置了OnfocusChange,但它不起作用。 這是我持有人類別:ListItem焦點變化
private class Holder {
ImageView iconImage;
TextView titleText ;
TextView costText ;
}
和getView方法:
@Override
public View getView(int position, View convertView, ViewGroup parent) {
final Item item = item.get(position);
final Holder temp;
if (convertView == null) {
convertView = inflater.inflate(R.layout.list_item, null);
temp = new Holder();
temp.iconImage = (ImageView) convertView
.findViewById(R.id.iconImageView);
temp.titleText = (TextView) convertView
.findViewById(R.id.titleTextView);
temp.costText = (TextView) convertView
.findViewById(R.id.costTextView);
convertView.setTag(temp);
} else {
temp = (Holder) convertView.getTag();
}
temp.titleText.setText(item.getItemTitle());
//this focus listener doesn't work.
convertView.setOnFocusChangeListener(new OnFocusChangeListener() {
@Override
public void onFocusChange(View v, boolean hasFocus) {
if (hasFocus) {
temp.titleText.setBackground(context.getResources()
.getDrawable(
R.drawable.green_background));
} else {
temp.titleText.setBackground(context.getResources()
.getDrawable(R.drawable.black_background));
}
}
});
}
我怎麼能設置OnFocusChange聽衆在我的列表視圖每個列表項?
你的這段代碼應該這樣做,如果你將此適配器添加到你的列表視圖 – Metehan 2014-09-10 11:38:02