リストビュー (simplecursoradapter でコンパイル) の特定のアイテムにアクセスする必要があります。このアイテムのレイアウトを編集する必要があります。setscrolllistener で編集しましたが、ここ (作成中) では不可能です。
私のコード:
RelativeLayout item2 = (RelativeLayout) lista.getChildAt(3);
RelativeLayout da_cambiare=(RelativeLayout)item2.findViewById(R.id.elemento_contenitore);
da_cambiare.setBackgroundResource(R.drawable.sfondo_elemento_lista_1);
switch(mese_numero){
case 1:
da_cambiare.setBackgroundResource(R.drawable.sfondo_elemento_lista_1);
break;
case 2:
da_cambiare.setBackgroundResource(R.drawable.sfondo_elemento_lista_2);
break;
case 3:
da_cambiare.setBackgroundResource(R.drawable.sfondo_elemento_lista_3);
break;
case 4:
da_cambiare.setBackgroundResource(R.drawable.sfondo_elemento_lista_4);
break;
case 5:
da_cambiare.setBackgroundResource(R.drawable.sfondo_elemento_lista_5);
break;
case 6:
da_cambiare.setBackgroundResource(R.drawable.sfondo_elemento_lista_6);
break;
case 7:
da_cambiare.setBackgroundResource(R.drawable.sfondo_elemento_lista_7);
break;
case 8:
da_cambiare.setBackgroundResource(R.drawable.sfondo_elemento_lista_8);
break;
case 9:
da_cambiare.setBackgroundResource(R.drawable.sfondo_elemento_lista_9);
break;
case 10:
da_cambiare.setBackgroundResource(R.drawable.sfondo_elemento_lista_10);
break;
case 11:
da_cambiare.setBackgroundResource(R.drawable.sfondo_elemento_lista_11);
break;
case 12:
da_cambiare.setBackgroundResource(R.drawable.sfondo_elemento_lista_12);
break;
}
RelativeLayout.LayoutParams llp = new RelativeLayout.LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT);
llp.setMargins(0, 0, 0, 0);
da_cambiare.setLayoutParams(llp);
私のxml:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:id="@+id/guscio_elemento"
android:layout_height="57dp">
<RelativeLayout android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:layout_width="fill_parent"
android:background="@drawable/sfondo_elemento_lista"
android:id="@+id/elemento_contenitore"
android:layout_height="fill_parent">
<TextView android:layout_width="0dp"
android:id="@+id/elemento_id"
android:layout_height="28dp" />
<TextView android:layout_width="wrap_content"
android:id="@+id/elemento_titolo"
android:textSize="15sp"
android:text="aaa"
android:textStyle="bold"
android:layout_marginLeft="10dp"
android:gravity="center_vertical"
android:textAllCaps="true"
android:textColor="#868686"
android:layout_height="28dp" />
<TextView android:layout_width="wrap_content"
android:id="@+id/elemento_piu"
android:textSize="28sp"
android:layout_marginTop="-6dp"
android:gravity="center_vertical"
android:text="+"
android:textStyle="bold"
android:layout_alignParentRight="true"
android:layout_marginRight="10dp"
android:textAllCaps="true"
android:textColor="#868686"
android:layout_height="28dp" />
<LinearLayout android:layout_width="fill_parent"
android:layout_below="@+id/elemento_titolo"
android:layout_height="29dp"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:orientation="horizontal"
android:weightSum="6">
<TextView android:layout_width="0dp"
android:layout_weight="0.6"
android:id="@+id/elemento_1"
android:background="#b04a74"
android:visibility="invisible"
android:layout_marginBottom="10dp"
android:layout_marginRight="2dp"
android:text=""
android:layout_height="fill_parent" />
<TextView android:layout_width="0dp"
android:layout_weight="0.6"
android:id="@+id/elemento_2"
android:visibility="invisible"
android:background="#007987"
android:layout_marginBottom="10dp"
android:layout_marginRight="2dp"
android:text=""
android:layout_height="fill_parent" />
<TextView android:layout_width="0dp"
android:layout_weight="0.6"
android:layout_marginBottom="10dp"
android:layout_marginRight="5dp"
android:visibility="invisible"
android:id="@+id/elemento_3"
android:background="#dda00a"
android:text=""
android:layout_height="fill_parent" />
<TextView android:layout_width="0dp"
android:layout_weight="4.2"
android:id="@+id/elemento_numero"
android:textSize="12sp"
android:text=""
android:textStyle="bold"
android:gravity="top"
android:textColor="#868686"
android:layout_height="fill_parent" />
</LinearLayout>
</RelativeLayout>
</RelativeLayout>
2 行目で nullpointer を取得します。理由はわかりません。(繰り返しますが) まったく同じコードが setOnScrollListener onScrollStateChanged で機能するからです。