2016-11-26 6 views
-3

に戻します、私は私のGame_ActivityのOnCreateの中に私が持っている、OnClickedは新しいGame_Activityを開くボタンがあります。内、その後、フラグメントを開きOnBackPressedは()私のMain_Activity内で間違った活動

@Override 
protected void onCreate(@Nullable Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_true_false); 
    level1GameInstructions = new Level1GameInstructions(); 
    fragmentManager = getSupportFragmentManager(); 

    fragmentManager.beginTransaction().replace(R.id.game_activity, instructions).commit(); 
} 

View.OnClickListener playBtnListener = new View.OnClickListener() { 
    @Override 
    public void onClick(View v) { 
     getActivity().onBackPressed(); 
    } 
}; 

しかし、何らかの理由で、これはGame_ActivityではなくMain_Activityを返します。ボタンは、私は現在のフラグメント開いて閉じたいクリックされたフラグメントのクラスは、私はこれを行っています。なぜ誰が知っていますか?

+0

'getActivity()。onBackPressed()'は、あなたのケースでは 'getActivity()。finish()'と同じです。そのようにしないでください –

+0

マニフェストファイルで 'android:parentActivityName'がどのように設定されているか確認してください。 –

+0

@RomanSamoylenkoだから私がやろうとしていることを達成する最良の方法は何ですか? – KTOV

答えて

0

ではなく、あなたのコードでこれらの2つの方法を使用して喜んでいる:

public void removeFragment(@NonNull String tag) { 
    getSupportFragmentManager().beginTransaction().remove(getSupportFragmentManager().findFragmentByTag(tag)).commit(); 
} 

public void replaceFragment(@IdRes int containerId, Fragment fragment, @Nullable String tag) { 
    getSupportFragmentManager().beginTransaction().replace(containerId, fragment, tag).commit(); 
} 

ただ、いくつかのタグで必要なフラグメントを交換し、そのタグでそれを削除します。

関連する問題