2016-05-11 7 views
0

私のメインレイアウトは3つのビューで構成されています。私はそれを実装する方法がわからないところ私はMysteriousViewビューにラベルを付けます。Androidでオンザフライで私のビューを交換するにはどうすればいいですか?

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:tools="http://schemas.android.com/tools"> 
    <TextView 
     android:id="@+id/TextView1" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content"/> 
    <MysteriousView 
     android:id="@+id/MysteriousView" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content"/> 
    <TextView 
     android:id="@+id/TextView3" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content"/> 
</LinearLayout> 

その後、私は自分の.xmlファイルで定義されている3つの大きなテーブルの景色を眺めることができます。場合によってはTableView1MysteriousViewに表示したい場合があり、TableView2MysteriousViewに表示することがあります。

TableView1は7行5列です。 TableView2には6行6列があります。 TableView3は5行5列です。私は活動の生涯にわたって約50の変更を行います。

できるだけ早くオンザフライで交換できるようにしたいと思います。スイッチング時間が100ms未満であれば良いでしょう。

それらをオンザフライで変更するにはどうすればよいですか?

+0

ここにある断片について読む:http://developer.android.com/guide/components/fragments.html –

答えて

1

説明している動作は、FragmentによってAndroidでサポートされています。あなたは マルチペインUIを構築し、複数のアクティビティでフラグメントを再利用するために単一のアクティビティに複数のフラグメントを組み合わせることができますAndroid Fragment documentation

から引用し

。 フラグメントは、 自身のライフサイクルを持ち、独自の入力イベントを受け取り、アクティビティが実行されている間に追加するか、 削除することができます(サブアクティビティのような並べ替え) )、さまざまなアクティビティで再利用できます。

以降:

あなたがあなたの活動のレイアウトの一部としてフラグメントを追加すると、それが活動のビュー階層内 でのViewGroupに住んでいるとフラグメント は、独自のビューのレイアウトを定義します。 アクティビティレイアウトにフラグメントを挿入するには、アクティビティのレイアウト ファイル内のフラグメントを<フラグメント>要素として宣言するか、アプリケーションコードから を既存のViewGroupに追加します。

フラグメントは、ユーザインタフェースを管理するための非常に強力なツールであるため、それらを使用すると、単に既存のViewGroupにビューを交換するよりも複雑である、と私はStackOverflowの答えで完全なソリューションを記述することはできませんが、それはあります(see the link above

関連する問題