1.Создать макет фрагмента
Создать новый файл макета.
В вашем случае это будет копия текущего файла activity_main.xml.
В моем случае я простоиспользуйте красный фон.
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#f00">
</FrameLayout>
2.Создать класс фрагмента
Создать новый файл класса Java.
Расширить Fragment
из android.support.v4.app.Fragment
и переопределить onCreateView()
.
public class MainFragment extends Fragment {
@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
return super.onCreateView(inflater, container, savedInstanceState);
}
}
3.Надуйте макет
Внутри onCreateView()
, надуйте и верните макет с 1.Создание фрагмента макета .
return inflater.inflate(R.layout.fragment_layout, container, false);
4.Переместите реализации из MainActivity в MainFragment
Переместите oncreate()
в MainActivity
реализацию в onViewCreated()
в MainFragment
.
@Override
public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
this.button = (Button) findViewById(R.id.button);
this.button2 = (Button) findViewById(R.id.button2);
this.mediaPlayerPool = new MediaPlayerPool(this);
this.button.setOnTouchListener(new b1());
this.button2.setOnTouchListener(new b2());
}
Вы должны оставить onCreate()
в MainActivty
какследует.
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_java);
}
Переместить все остальное как есть.
5.Используйте MainFragment в MainActivity
В activity_main.xml , используйте MainFragment
с тегом <fragment>
.
<FrameLayout ... >
<fragment
android:id="@+id/main_fragment"
android:name="com.example.blockrecyclerview.MainFragment"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
</FrameLayout>
Это приведет к следующему экрану.
![Result Image](https://i.stack.imgur.com/LFxcV.png)