2

LinearLayout を含む TableRow があり、この LinearLayout には TextView が含まれています。私が望むのは、TextView がクリックされると、TableRow 全体の背景色が変わることです。

getParent() と performClick() を使用して、クリック イベントを TextView から TableRow に渡そうとしました。TableRow の onClick() メソッドは呼び出されますが、その背景色は変わりません。

もちろん、どちらかを使用してセレクターを設定しました

row.setBackgroundResource(R.drawable.menu_item_bgcolor);

また

row.setBackgroundDrawable(activity.getResources().getDrawable(R.drawable.menu_item_bgcolor));

うまくいきません。誰でもこれについての洞察を提供できますか? ありがとう、

以下は、セレクター xml ファイルです。

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">

<item android:state_pressed="true" android:drawable="@drawable/menu_item_pressed" />
<item android:state_focused="true" android:drawable="@drawable/menu_item_pressed" />
<item android:drawable="@drawable/menu_item_normal" />

</selector>
4

1 に答える 1

0

これを試して

StateListDrawable states = new StateListDrawable();
states.addState(new int[] {android.R.attr.state_pressed},
    getResources().getDrawable(R.drawable.pressed));
states.addState(new int[] {android.R.attr.state_focused},
    getResources().getDrawable(R.drawable.focused));
states.addState(new int[] { },
    getResources().getDrawable(R.drawable.normal));
row.setImageDrawable(states);
于 2012-04-21T06:48:12.163 に答える