4

2 つの子を含むレイアウトがあります。私の目標は、レイアウト全体をボタンとして機能させることです。それぞれの子は、押された状態を示すために異なる色を持っています。それらを個別に押すと、押された状態がうまく表示されます。ただし、どちらかを押すと、両方とも押された状態を表示したいと思います。

私の最初の考えは duplicateParentState を使用することでしたが、ビューがレイアウトを埋めるため、親が押された状態になることはありません。次に考えたのは、AddStatesFromChildren を使用することでしたが、これはすべて、親が押されたように表示されましたが、子は表示されませんでした。最後に両方を使用してみましたが、エラーが発生しました。

兄弟のビューで押された状態を共有するにはどうすればよいですか?

4

2 に答える 2

1

私はこれに4年遅れただけですが、あなたは近かったです:

  • 両方を親レイアウト内に設定します
  • 親にクリックリスナーを設定します
  • 次にandroid:duplicateParentState="true"、それぞれの子に設定します。

魔法のように動作します!

于 2016-04-20T23:11:12.180 に答える
0

あなたはおそらく次のようなことをすることができます:

Button button = new Button(this);
button.setOnClickListener(new OnClickListener() {

    @Override
    public void onClick(View v) {

        Button otherButton = (Button) findViewById(R.id.other_button);
        otherButton.setPressed(true);

    }
})

もちろん、必要に応じてボタンを呼び出します。

于 2012-07-21T18:58:44.867 に答える