2

私はXMLを持っています。そのXMLにはRelativeLayoutと言うR1があり、R1内には1つのViewFlipperがあり、ViewFlipper内には7つの相対レイアウトがあります。7つすべてをUIにロードするとすべて正常に機能しますが、条件では3つだけが必要です。 UIに表示される相対レイアウト(ViewFlipper内)。誰かが残りの4つの相対レイアウトをView.GONEにするのを手伝ってもらえますか?設定してみました

            if(X==Y){
            findViewById(R.id.relativeA).setVisibility(View.GONE);
        findViewById(R.id.relativeB).setVisibility(View.GONE);
        findViewById(R.id.relativeC).setVisibility(View.GONE);
        findViewById(R.id.relativeD).setVisibility(View.GONE);
            }

しかし、これは機能していません。これをrequire条件でonCreateに設定しましたが、このビューは、アクティビティが起動されたときにのみGONEになり、指であちこちをフリングすると、すべてのレイアウトがUIに表示されます。

今私が残している唯一の解決策は、必要な相対レイアウトを使用して別のXMLを作成することですが、問題は私のXMLが非常に重いため、この最後のオプションを使用したくないということです。親切に助けて

4

2 に答える 2

2

viewFlipper.removeViewAt(index)削除するビューのインデックス(位置)を指定することもできます。

また

使用できますviewFlipper.removeView(viewFlipper.findViewById(ID_OF_RELATIVE_LAYOUT_TO_REMOVE))

と呼ばれるヘルパーメソッドもあります

removeViews(int start, int count)これにより、一度に複数のビューが削除されます。

詳細については、ViewGroup-Androidドキュメントをご覧ください。

于 2012-07-17T10:17:59.503 に答える
1

ビューを非表示にする代わりに、次のような不要なビューを削除してみてください

viewfliper.removeViewAt(relativeA POSITION);
于 2012-07-17T09:35:48.217 に答える