2017-03-29 14 views
-2

フラグメントに2つのボタンがあります。私は、フラグメントからアクティビティへインテントを送り、クリックされたボタンに基づいてレイアウトをロードしたい。どうすればこれを達成できますか?フラグメントからクリックされたボタンに基づいてアクティビティの異なるレイアウトをロードする

+0

いくつかのコードを入力してください。 – UDID

答えて

0

これに解決策があります。 putExtraを使用して文字列を渡すと、読み込むレイアウトを決定するのに役立ちます。

断片コード:

Button button1 = (Button) rootView.findViewById(R.id.id_button1); 
    button1.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      Intent intent = new Intent(getActivity(), ScrollingDetailsActivity.class); 
      intent.putExtra(ScrollingDetailsActivity.EXTRA_DATA,"Button1_pressed"); 
      (getActivity()).startActivity(intent); 
     } 
    }); 

    Button button2 = (Button) rootView.findViewById(R.id.id_button2); 
    button2.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      Intent intent = new Intent(getActivity(), ScrollingDetailsActivity.class); 
      intent.putExtra(ScrollingDetailsActivity.EXTRA_DATA,"Button2_pressed"); 
      (getActivity()).startActivity(intent); 

アクティビティコード:

final Intent intent = getIntent(); 
    final String data = intent.getStringExtra(EXTRA_DATA); 

    if (data.equals("button1_pressed")) 
    setContentView(R.layout.scrolling_details_button1); 

    if (data.equals("button2_pressed")) 
     setContentView(R.layout.scrolling_details_button2); 

感謝!!

関連する問題