2012-12-20 5 views
0

클릭하면 목록 항목의 배경을 변경하고 싶지만 작동하지 않습니다.클릭하면 목록 항목의 배경을 변경할 수 없습니다.

이 내 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입니다

의견이 있으십니까?

+0

당신이 배경이 항목이 적극적에 누르고있는 동안 만 변경하거나 변경 하시겠습니까이 질문을 참조하십시오, Selector라는 것을 사용하고 ListSelector로 설정해야합니다 사용자가 한 번 탭하면 영구적으로 사용합니까? 당신의'list_selector.xml'은 전자를합니다. 후자를하기 원한다면 선택자가 아닌 일반 드로어 블을 사용하여'setBackgroundResource()'를 호출해야 할 것이다. – CloudyMusic

답변

0

onItemClick()은 이미 배경을 변경해야하는보기를 전달합니다. 거기에 배경을 설정하십시오.

@Override 
public void onItemClick(AdapterView<?> arg0, View v, int arg2, 
     long arg3) { 
    v.setBackgroundResource(R.drawable.list_selector); 
} 
+0

다시 시도했지만 다시 작동하지 않습니다 –

+0

감사합니다. –

+0

맞았 으면 받아 들일 수 있습니까? 감사! –

관련 문제