Здравствуйте, я просто хочу переключиться с одного фрагмента на другой с помощью кнопки. Ничего сложного ... код работает хорошо, но я потратил много времени, потому что Android переходит в ошибку, если я подключаю frameLayout к автокомпиляции. Я объясню лучше:
package com.example.fragcookbook;
import androidx.appcompat.app.AppCompatActivity;
import androidx.fragment.app.FragmentManager;
import androidx.fragment.app.FragmentTransaction;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.FrameLayout;
public class MainActivity extends AppCompatActivity {
FragmentOne mFragmentOne;
FragmentTwo mFragmentTwo;
int showingFragment=0;
@Override
protected void onCreate ( Bundle savedInstanceState ) {
super.onCreate (savedInstanceState);
setContentView (R.layout.activity_main);
mFragmentOne = new FragmentOne();
mFragmentTwo = new FragmentTwo();
FragmentManager fragmentManager = getSupportFragmentManager();
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
fragmentTransaction.add(R.id.frameLayout, mFragmentOne);
fragmentTransaction.commit();
showingFragment=1;
}
public void switchFragment(View view) {
FragmentManager fragmentManager = getSupportFragmentManager();
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
if (showingFragment==1) {
fragmentTransaction.replace(R.id.frameLayout, mFragmentTwo);
showingFragment = 2;
} else {
fragmentTransaction.replace(R.id.frameLayout, mFragmentOne);
showingFragment=1;
}
fragmentTransaction.commit();
}
Во всех строках, где вы видите R.id.frameLayout, мне нужно вручную написать frameLayout ..... Android окрашивает его в красный цвет, но он работает ...
Но если я выберу ресурс с автокомпиляцией ...
... когда я запускаю приложение Android дает мне эту ошибку ....
Почему? не лучше ли использовать автокомпиляцию? Заранее спасибо