新しいフラグメントを開くことはできません。フラグメントは常にアクティビティによってホストされる必要があります。フラグメントが同じアクティビティ(タブなど)にある場合、バックキーのナビゲーションは難しくなります。そのフラグメントで新しいスクリーンを開きたいと仮定しています。 新しいアクティビティを作成してそこに新しいフラグメントを配置するだけです。そのアクティビティは、アクティビティクラスを介して明示的に、またはインテントフィルタを介して暗黙的にインテントに反応します。
あなたの問題に対する答えは簡単です:現在のフラグメントを新しいフラグメントで置き換え、バックスラックにプッシュするトランザクション。これにより、ボタンの動作を元に戻すことができます。
新しいアクティビティを作成すると、目的を完全に破り、とにかくフラグメントを使用できます...非常に生産的です。 R.id.myFrameで
@Override
public void onClick(View v) {
// Create new fragment and transaction
Fragment newFragment = new chartsFragment();
// consider using Java coding conventions (upper first char class names!!!)
FragmentTransaction transaction = getFragmentManager().beginTransaction();
// Replace whatever is in the fragment_container view with this fragment,
// and add the transaction to the back stack
transaction.replace(R.id.fragment_container, newFragment);
transaction.addToBackStack(null);
// Commit the transaction
transaction.commit();
}
https://developer.android.com/guide/components/fragments.html#Transactions
引用
私は置くつもりですか? – marte
あなたは、アクティビティレイアウト内にフレームレイアウトまたはidを持つ他のレイアウトを作成してから、そのIDをJavaで使用してください。 –
この@marteを参照http://wptrafficanalyzer.in/blog/dynamically-add-fragments-to-an -activity-in-android/ –