2015-01-06 3 views
0

Обычно, если мы хотим перейти на другую страницу. Мы используем кодANDROID - Как перейти к другому фрагменту из фрагмента

Intent i = new Intent(getApplicationContext(), Home.class); 
startActivity(i); 
finish(); 

Я смущаюсь перейти на другую страницу с фрагментом.

TEACHER_Class.java

public class TEACHER_Class extends Fragment { 

    Button tambahKelasButton; 

    @Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) { 
     View rootView = inflater.inflate(R.layout.teacher_class, container, false); 
     tambahKelasButton = (Button) rootView.findViewById(R.id.tambah_kelas_button); 
     tambahKelasButton.setOnClickListener(new OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       Fragment FRAGMENT = new TEACHER_AddClass(); 
       FragmentManager fragmentManager = getActivity().getFragmentManager(); 
       FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction(); 
       //I think I get error in here 
       fragmentTransaction.replace(R.layout.teacher_class, FRAGMENT); 
       fragmentTransaction.addToBackStack(null); 
       fragmentTransaction.commit(); 
      } 
     }); 
     return rootView; 
    } 

} 

TEACHER_AddClass.java

public class TEACHER_AddClass extends Fragment { 


    @Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) { 
     View rootView = inflater.inflate(R.layout.teacher_add_class, container, false); 

     return rootView; 
    } 

} 

Я хочу, чтобы перейти от TEACHER_Class.java к TEACHER_AddClass.java

Это teacher_class.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" 
android:layout_height="match_parent" android:gravity="center_horizontal" 
android:orientation="vertical" android:paddingBottom="@dimen/activity_vertical_margin" 
android:paddingLeft="@dimen/activity_horizontal_margin" android:background="#393f46" 
android:paddingRight="@dimen/activity_horizontal_margin" 
android:paddingTop="@dimen/activity_vertical_margin" 
android:id="@+id/teacher_class_layout" 
> 

<!-- Login progress --> 


<Button android:id="@+id/tambah_kelas_button" 
     android:layout_width="150dp" android:layout_height="40dp" 
     android:layout_marginTop="20dp" android:layout_marginLeft="100dp" 
     android:text="TAMBAH KELAS" android:background="#f8255f" 
     android:textSize="18sp" android:textColor="#FFFFFF" 
     android:textStyle="bold" /> 

<ScrollView android:id="@+id/insert_class_form" android:layout_width="match_parent" 
    android:layout_height="match_parent" android:layout_marginTop="30dp"> 

    <TableLayout 
     android:layout_marginTop="20dp" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_gravity="center_horizontal" 
     android:background="#999999" 
     > 

     <TableRow 
      android:layout_width="fill_parent" 
      android:layout_height="fill_parent" 
      android:layout_column="3"> 
      <TextView 
       android:id="@+id/header_class_name" 
       android:layout_width="210dp" 
       android:layout_height="wrap_content" 
       android:layout_centerHorizontal="true" 
       android:text="   NAMA KELAS" 
       android:layout_marginLeft="0dp" 
       android:layout_marginTop="7.5dp" 
       android:layout_marginBottom="7.5dp" 
       android:textSize="18sp" 
       android:textColor="#f6f6f6" 
       android:textStyle="bold" 
       /> 
      <TextView 
       android:id="@+id/header_bank_soal" 
       android:layout_width="50dp" 
       android:layout_height="wrap_content" 
       android:layout_centerHorizontal="true" 
       android:text="BANK SOAL" 
       android:layout_marginLeft="20dp" 
       android:textSize="18sp" 
       android:textColor="#f6f6f6" 
       android:textStyle="bold" 
       /> 
      <TextView 
       android:id="@+id/header_resources" 
       android:layout_width="50dp" 
       android:layout_height="wrap_content" 
       android:layout_centerHorizontal="true" 
       android:text="RES" 
       android:layout_marginLeft="30dp" 
       android:layout_marginTop="7.5dp" 
       android:layout_marginBottom="7.5dp" 
       android:textSize="18sp" 
       android:textColor="#f6f6f6" 
       android:textStyle="bold" 
       /> 
     </TableRow> 
    </TableLayout> 
</ScrollView> 

teacher_add_class.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="vertical" android:paddingBottom="@dimen/activity_vertical_margin" 
    android:paddingLeft="@dimen/activity_horizontal_margin" android:background="#393f46" 
    android:paddingRight="@dimen/activity_horizontal_margin" 
    android:paddingTop="@dimen/activity_vertical_margin" 
    android:id="@+id/teacher_add_class_layout" 
> 

      <TextView 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:text="ADD CLASS" 
       android:textSize="28sp" 
       android:textColor="#FFFFFF" 
       android:id="@+id/loginTittle" 
       android:layout_marginBottom="30dp" 
       android:textStyle="bold" 
       android:layout_marginTop="60dp" 
       /> 

      <EditText 
       android:id="@+id/fullname_edittext" 
       android:layout_width="330dp" android:layout_height="50dp" 
       android:textSize="18sp" android:textColor="#282727" 
       android:background="#FFFFFF" android:hint="Full Name" 
       android:layout_marginBottom="30dp" 
       /> 

      <EditText 
       android:id="@+id/shortname_edittext" 
       android:layout_width="330dp" android:layout_height="50dp" 
       android:textSize="18sp" android:textColor="#282727" 
       android:background="#FFFFFF" android:hint="Short Name" 
       android:layout_marginBottom="30dp" 
       /> 

      <EditText 
       android:id="@+id/summary_edittext" 
       android:layout_width="330dp" android:layout_height="50dp" 
       android:textSize="18sp" android:textColor="#282727" 
       android:background="#FFFFFF" android:hint="Summary" 
       android:layout_marginBottom="30dp" 
       /> 
      <Button 
       android:id="@+id/add_class_button" 
       android:layout_width="100dp" android:layout_height="60dp" 
       android:layout_marginTop="0dp" android:layout_marginLeft="150dp" 
       android:text="ADD" android:background="#f8255f" 
       android:textSize="22sp" android:textColor="#FFFFFF" 
       android:textStyle="bold" /> 





</LinearLayout> 
+2

всех операций фрагментов должно быть сделано в удерживающей активности фрагментов – tyczj

+0

Может быть, вы пытаетесь заменить фрагмент, который статически размещенный внутри файла XML. – Krish

+0

@tyczj есть способ для перехода к другому фрагменту в фрагменте? –

ответ

2
FragmentManager fragmentManager = getActivity().getFragmentManager(); 

вы должны использовать getChildFragmentManager, чтобы выполнить операцию из фрагмента

fragmentTransaction.replace(R.layout.teacher_class, FRAGMENT); 

в первым параметром должен быть идентификатор (R.id.) ViewGroup, в котором размещен сам фрагмент, а не идентификатор макета.

+0

Мое приложение для Android версии SDK ниже 17. Итак, я не могу использовать getChildFragmentManager. Как заменить getChildFragmentManager .. –

+0

вы можете. Он также является частью библиотеки поддержки. – Blackbelt

+0

Я изменил R.layout.teacher_class на идентификатор линейного макета из макета класса преподавателя. Проверьте мой обновленный вопрос ... Но я до сих пор не могу перейти на другую страницу. –

0

Я подозреваю, что R.id.layout.teacher_class - фрагмент, который вы хотите удалить? Первым аргументом для функции replace является контейнер, содержащий фрагмент, а не фактический фрагмент, который нужно заменить.

fragmentTransaction.replace([TARGET_CONTAINER], FRAGMENT); 
+0

Я заполнил TARGET_CONTAINER с идентификатором линейного макета с teacher_add_class.xml. Но все равно получите ошибку, проверьте мой обновленный вопрос .. –

+0

Где код и xml для активности? В этом случае вы должны выполнять транзакции фрагмента. – Shooky

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