左側のフラグメントにリストを表示し、右側に詳細なフラグメントを表示するタブを作成しようとしています。ユーザーがリストアイテムをクリックすると、右側のフラグメントが適切なフラグメントに変更されます。
私はAndroidを初めて使用するので、チュートリアルを使用しました。タブリステナーを使用して何かを行う必要があることはわかっています。
public staticclassTabListenerはActionBar.TabListenerを実装します
{{
プライベートファイナルアクティビティmActivity;
プライベート最終文字列mTag;
プライベートファイナルクラスmClass;
プライベートファイナルバンドルmArgs;
プライベートフラグメントmFragment;
public TabListener(Activity activity, String tag, Class<T> clz) {
this(activity, tag, clz, null);
}
public TabListener(Activity activity, String tag, Class<T> clz, Bundle args) {
mActivity = activity;
mTag = tag;
mClass = clz;
mArgs = args;
// Check to see if we already have a fragment for this tab, probably
// from a previously saved state. If so, deactivate it, because our
// initial state is that a tab isn't shown.
mFragment = mActivity.getFragmentManager().findFragmentByTag(mTag);
if (mFragment != null && !mFragment.isDetached()) {
ft = mActivity.getFragmentManager().beginTransaction();
ft.detach(mFragment);
ft.commit();
}
}
public void onTabSelected(Tab tab, FragmentTransaction ft) {
if (mFragment == null) {
mFragment = Fragment.instantiate(mActivity, mClass.getName(), mArgs);
ft.add(android.R.id.content, mFragment, mTag);
tabtag = mTag;
}
else {
ft.attach(mFragment);
}
}
public void onTabUnselected(Tab tab, FragmentTransaction ft) {
if (mFragment != null) {
ft.detach(mFragment);
}
}
public void onTabReselected(Tab tab, FragmentTransaction ft) {
//Toast.makeText(mActivity, "Reselected!", Toast.LENGTH_SHORT).show();
}
}
私が必要としているもう1つの良い例は、Gmailアプリのようなもので、左側にリスト、右側に詳細があり、上部にアクションバー(私のタブがあります)があります。
このリスナーは、クリックされたタブごとにフラグメントを膨らませることを理解していますが、 2つのフラグメントを含むレイアウトを膨らませるにはどうすればよいですか?