0

リストビュー (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 で機能するからです。

4

0 に答える 0