0

私の Android アプリには、実行時に読み込まれるテーブル レイアウトがあります。行がクリックされたときにこのテーブルの背景色を変更するコードを実装しました。

private OnClickListener trOnClickListener = new OnClickListener() {
    public void onClick(View v) {
        TableRow tablerow = (TableRow)v;

        tablerow.setBackgroundDrawable(getResources().getDrawable(
                R.drawable.table_row_selector));


    }
};

ユーザーがテーブルの別の行をクリックすると、この色を削除し、新しくクリックした行の色を変更する必要があります。

これは私のドローアブルです。

<?xml version="1.0" encoding="utf-8"?>

<item android:drawable="@drawable/ab_stacked_solid_whiteaction" android:state_pressed="true"/>
<item android:drawable="@drawable/table_shape" android:state_enabled="true"/>

どんな提案でも大歓迎です。

事前にサンクス

4

3 に答える 3

0

フィールドを作成します。

row.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View view) {
        if (restoredView != null) {
            restoredView.setBackgroundColor(Color.parseColor("#EEEEEE"));
        }
        view.setBackgroundColor(Color.parseColor("#DDDDDD"));
        restoredView = view;
    }
});
于 2017-02-16T11:29:54.250 に答える