2016-06-09 2 views
1

У меня есть рабочий корпус с корпусом коммутатора, и у меня также есть два разных фрагмента. Я хочу, когда я нажимаю кнопку, фрагмент добавляет/заменяет эту активность, и когда я нажимаю другую кнопку, добавьте/замените фрагмент на этом мероприятии. Что я должен делать?Условия на Фрагмент в Android

public void onClick(View view) { 
     switch (view.getId()){ 
      case R.id.button1: 
       Intent intentFaculty = new Intent(MainActivity.this, FacultyLoginActivity.class); 
       startActivity(intentFaculty); 
       break; 
      case R.id.button2: 
      Intent intentAdmin = new Intent(MainActivity.this, AdminLoginActivity.class); 
      startActivity(intentAdmin); 
      break; 
    } 
} 

Вместо начала деятельности я хочу добавить фрагменты.

+0

Показать код. –

+0

public void onClick (View view) { switch (view.getId()) { case R.id.button1: Намерение намеренияFaculty = новое намерение (MainActivity.this, FacultyLoginActivity.class); startActivity (intentFaculty); break; case R.id.button2: Intent intentAdmin = новое намерение (MainActivity.this, AdminLoginActivity.class); startActivity (intentAdmin); break; } } вместо начала действия. Я хочу добавить фрагмент. –

+0

Вам нужна помощь? Мой ответ работает на вас? – bendaf

ответ

0

Создание интерфейса в вашем фрагменте, как:

public interface OnFragmentInteractionListener{ 
    void onClick(int buttonId); 
} 

Реализуйте интерфейс в вашей деятельности:

@Override 
public void onClick(int buttonId){ 
    FragmentTransaction fragmentTransaction = getSupportFragmentManager().beginTransaction(); 
    if(index == R.id.btn_change_fra){ 
     fragmentTransaction.addToBackStack("FragmentChange"); 
     newFragment = new NextFragment(); 
     fragmentTransaction.add(R.id.fragment, newFragment).commit(); 
    } 
} 

Override onAttach в вашем фрагменте:

OnFragmentInteractionListener mListener; 
@Override public void onAttach(Context context){ 
    super.onAttach(context); 
    if(context instanceof OnFragmentInteractionListener){ 
     mListener = (OnFragmentInteractionListener) context; 
    }else{ 
     throw new RuntimeException(context.toString() 
              + " must implement OnFragmentInteractionListener"); 
    } 
} 

И, наконец, называют onClick() в onClick:

public void onClick(View view) { 
    mListener.onClick(view.getId()); 
} 

Всё. Я предлагаю вам использовать более уникальные имена.

Смежные вопросы