Android - 将活动内容更改为多个片段

时间:2017-04-15 18:19:27

标签: android android-layout android-fragments

帮我兄弟, 这是我的活动课

public class menuJadwalUjian extends AppCompatActivity{
private FloatingActionButton fab;
private Context mContex;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.menu_jadwal_ujian);
    getFragmentManager().beginTransaction().replace(R.id.contentJadwalUjian, new fragment_jadwal_ujian_menu()).addToBackStack(null).commit();

}
public void onClick(View v){

}

这是布局

<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_menu_ujian"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="xyz.aufa.asistenkuliahku.ActivityClass.menuJadwalUjian">

<EditText
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="IKI MAIN E OJO SAMPEK KETOK"/>
<FrameLayout
    android:id="@+id/contentJadwalUjian"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
</FrameLayout>

这是我的第一个片段类

public class fragment_jadwal_ujian_menu extends Fragment implements View.OnClickListener{

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

@Override
public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
    super.onViewCreated(view, savedInstanceState);
    initView(view);
}
private void changeFragment(){
    getFragmentManager().beginTransaction().replace(R.id.activity_menu_ujian, new fragment_jadwal_ujian_form()).addToBackStack(null).commit();
}
private void initView(View view){
    FloatingActionButton fab = (FloatingActionButton) view.findViewById(R.id.fabAddJadwalUjian);
    fab.setOnClickListener(this);

}

@Override
public void onClick(View v) {
    switch (v.getId()) {
        case R.id.fabAddJadwalUjian:
            changeFragment();
            break;
    }
}

这是第一个布局的布局

<FrameLayout 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"
tools:context="xyz.aufa.asistenkuliahku.fragment_jadwal_ujian_menu">
<EditText
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="MENU NYA DI SINI GAN"/>
<android.support.design.widget.FloatingActionButton
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="end|bottom"
    android:id="@+id/fabAddJadwalUjian"
    android:src="@drawable/ic_plusone_standard_off_client"/>

目标是,如何使活动始终使用第一个片段,并替换活动布局,当我按下后退按钮时,活动仍然显示,片段消失。 但我有问题为什么当我启动活动时,活动内容不会被片段替换,并且总是像this那样堆叠

之前的问题是,当我最终使用片段启动活动时,但工具栏已经消失。

我不会使用视图寻呼机,因为我不会滑动并更改我的片段。

请帮帮我

1 个答案:

答案 0 :(得分:0)

用下面的代码替换你的xml代码。

 <FrameLayout 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:background="#FFFFFF"
 tools:context="xyz.aufa.asistenkuliahku.fragment_jadwal_ujian_menu">
 <EditText
     android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="MENU NYA DI SINI GAN"/>
 <android.support.design.widget.FloatingActionButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="end|bottom"
android:id="@+id/fabAddJadwalUjian"
android:src="@drawable/ic_plusone_standard_off_client"/>