[解決済み] 実行時にビューを別のビューに置き換えるAndroidレイアウト
2022-04-16 16:43:50
質問
私は
xml
-レイアウトファイル main には、2 つのテキストビュー A/B とビュー C があります。
私は、他の2つの
xml
-レイアウトファイル
option1
と
option2
.
のどちらかを読み込むことは可能ですか?
option1
または
option2
をJava経由でランタイムにC言語に変換するのですか?その場合、どのような関数を使用すればよいのでしょうか?
どのように解決するのですか?
いつでも任意のビューを入れ替えることができます。
int optionId = someExpression ? R.layout.option1 : R.layout.option2;
View C = findViewById(R.id.C);
ViewGroup parent = (ViewGroup) C.getParent();
int index = parent.indexOfChild(C);
parent.removeView(C);
C = getLayoutInflater().inflate(optionId, parent, false);
parent.addView(C, index);
すでに存在する
表示
を設定し、初期化時にオプション1/オプション2のいずれかを選択することで、より簡単に行うことができます。
android:id
を親レイアウトに設定し、その後。
ViewGroup parent = (ViewGroup) findViewById(R.id.parent);
View C = getLayoutInflater().inflate(optionId, parent, false);
parent.addView(C, index);
ビューの構造に応じて、適切な値に "index" を設定する必要があります。また ビュースタブ : C のビューを ViewStub として追加し、その後。
ViewStub C = (ViewStub) findViewById(R.id.C);
C.setLayoutResource(optionId);
C.inflate();
そうすれば、XMLレイアウトを再構築する際に、上記の "index" の値について心配する必要がなくなります。
関連
-
[解決済み] Android XML drawable ファイルに円形を定義する方法を教えてください。
-
[解決済み] アイテムの親を取得する際にエラーが発生しました。AppCompat v23にアップグレードした後、指定された名前に一致するリソースが見つかりません。
-
[解決済み] AndroidでPythonを実行する方法はありますか?
-
[解決済み] Bitmapオブジェクトに画像を読み込む際にOutOfMemoryが発生する問題
-
[解決済み] グリッドレイアウトにおけるフリングジェスチャーの検出
-
[解決済み] Androidのレイアウトファイルの「tools:context」とは何ですか?
-
[解決済み] Androidのレイアウトで文字に下線を引くことはできますか?
-
[解決済み] ViewPager PagerAdapter がビューを更新しない
-
[解決済み] Androidレイアウトのフォルダにサブフォルダを含めることはできますか?
-
[解決済み】レイアウトで1つのビューを膨らませる方法
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
gitlab 設定エラー。リモートリポジトリから読み込めなかったか、ホストキーの検証に失敗しました。
-
android E/RecyclerView﹕ アダプタが接続されていないため、レイアウトをスキップする。
-
IllegalStateException。ArrayAdapter は、リソース ID が TextView である必要があります。
-
ActivityはOnFragmentInteractionListenerを実装しなければならないに関する質問
-
ConstraintLayoutのいくつかのプロパティの概要(RelativeLayoutの強化版、LinearLayoutの比例プロパティを含む、階層ツールの削減)。
-
Androidのカラーグラデーション実装のまとめ
-
Android--shape--描画のコーナー、グラデーション、パディング、サイズ、ソリッド、ストロークのプロパティを指定する。
-
アンドロイドの遅延実行のいくつかの方法
-
アンドロイドスタジオソフトウェア使用詳細説明書
-
Android studio 制約レイアウト ConstraintLayout