클릭하면 목록 항목의 배경을 변경하고 싶지만 작동하지 않습니다.클릭하면 목록 항목의 배경을 변경할 수 없습니다.
이 내 MusicAdapter 내부 클래스입니다 :
class MusicAdapter extends ArrayAdapter<String>{
Fill fill=null;
public MusicAdapter(){
super(GetMusics.this,android.R.layout.simple_list_item_1,song_list);
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
row = convertView;
if(row==null){
LayoutInflater inflater = getLayoutInflater();
row = inflater.inflate(R.layout.row, null);
fill=new Fill(row);
row.setTag(fill);
}else{
fill=(Fill)row.getTag();
}
row.setBackgroundResource(R.drawable.list_selector);
fill.setRow(song_list.get(position));
return row;
}
}
나는이 시도했지만 다시 작동하지 않았다 :
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:state_focused="true"
android:drawable="@color/Peru"/>
<item android:state_pressed="true"
android:drawable="@color/Tan"/>
<item
android:drawable="@color/Peru"/>
</selector>
: 여기
private AdapterView.OnItemClickListener onItemClick = new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> arg0, View v, int arg2,
long arg3) {
// TODO Auto-generated method stub
lv.getChildAt(arg2).setBackgroundResource(R.drawable.list_selector);
}
};
내 list_selector.xml입니다
의견이 있으십니까?
당신이 배경이 항목이 적극적에 누르고있는 동안 만 변경하거나 변경 하시겠습니까이 질문을 참조하십시오,
Selector
라는 것을 사용하고ListSelector
로 설정해야합니다 사용자가 한 번 탭하면 영구적으로 사용합니까? 당신의'list_selector.xml'은 전자를합니다. 후자를하기 원한다면 선택자가 아닌 일반 드로어 블을 사용하여'setBackgroundResource()'를 호출해야 할 것이다. – CloudyMusic