2017-10-23 16 views
0

私はメニューを持つアプリケーションを持っています。メニューはシングルプレイヤー、マルチプレイヤー、ハイスコアのように4-5個のボタンで構成されています...私はいくつかのボタンをクリックして新しいビューを開き、それぞれのビューは現在別のクラスで作成されていますが、例えば "Signle player"をクリックしたときなど、1つのクラスで2つのビューを作ることができれば、 Easy、Normal、Hardの3つのボタンで新しいウィンドウを表示します。 1つのクラスで2つのビューを実行し、どのように行うのがよいですか?複数のコンテンツビューを持つアプリケーションのメニュー

singleplayer.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      setContentView(R.layout.single_player); 
     } 
    }); 

私は、メインメニューのクラスでこれを書いている場合、私はシングルプレイヤーをクリックしたとき、それはそのウィンドウを開きますが、私は「戻る」をクリックしたときには、アプリケーションを終了します代わりに、メインメニューに戻ります。

答えて

0

私は今、コメントをpriviledgeを持っていないが、なぜ断片

public class MainFragment extends Fragment{ 

    public View onCreateView (LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { 
     return inflater.inflate(R.layout.timedifferencelayout, null); 
    } 
} 

を使用し、1

getSupportFragmentManager().beginTransaction().replace(R.id.main_container, new MainFragment()).commit(); 

を追加しないと背中に私の現在

@Override 
public void onBackPressed() { 
    if (getSupportFragmentManager().getBackStackEntryCount() == 0) { 
     super.onBackPressed(); 
    } else { 
     getSupportFragmentManager().popBackStackImmediate(); 
    } 
} 
+0

を押しますクラスがアクティビティを拡張し、その代わりにフラグメントを拡張すると、あらゆる種類のエラーが作成されます。これを使用するには、あらかじめ多くを読んでおく必要があります – Tom

+0

AppCompactActivityまたはFragmentActivityを拡張するだけです。 –

関連する問題