2 つのフラグメントを含むサンプル アプリをダウンロードしました。左のフラグメントはアイテムを示し、右のフラグメントは選択されたアイテムに基づいた内容を示します。
私がやりたいことは、表示されているリストを更新するために使用できる左のフラグメントにもボタンを付けることです。したがって、リストとボタンを同じフラグメントに同時に表示する必要があるのはなぜですか。
これはできますか?私のコード例は次のとおりです: -
レイアウトxml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="match_parent">
<fragment android:name="com.example.android.fragments.HeadlinesFragment"
android:id="@+id/headlines_fragment"
android:layout_weight="1"
android:layout_width="0dp"
android:layout_height="match_parent" />
<fragment android:name="com.example.android.fragments.ArticleFragment"
android:id="@+id/article_fragment"
android:layout_weight="2"
android:layout_width="0dp"
android:layout_height="match_parent" />
</LinearLayout>
主なアクティビティ コードは次のとおりです。 -
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.news_articles);
// Check whether the activity is using the layout version with
// the fragment_container FrameLayout. If so, we must add the first
// fragment
if (findViewById(R.id.fragment_container) != null) {
// However, if we're being restored from a previous state,
// then we don't need to do anything and should return or else
// we could end up with overlapping fragments.
if (savedInstanceState != null) {
return;
}
// Create an instance of ExampleFragment
HeadlinesFragment firstFragment = new HeadlinesFragment();
// In case this activity was started with special instructions from
// an Intent,
// pass the Intent's extras to the fragment as arguments
firstFragment.setArguments(getIntent().getExtras());
FragmentManager fragmentManager = getFragmentManager();
FragmentTransaction transaction = getSupportFragmentManager()
.beginTransaction();
transaction.add(R.id.fragment_container, firstFragment);
transaction.commit();
}
}
R.id.fragment_container が完了した後にボタンを表示することもできますか?
ありがとう
マーティン