علت ارور هنگام اضافه کردن transaction های replace یا add در fragment a

پرسیده شده
فعالیت 1049 روز پیش
دیده شده 398 بار
0

سلام وقت بخیر علت این ارور در این قسمت چیه؟ 

فایل پیوست

محمد جواد هاشمی
محمد جواد هاشمی

20 خرداد 00

0
حذف شده

سلام وقت بخیر

 

من فکر میکنم import ها به اشتباه انجام دادید (باید از androidx ایمپورت ها انجام شود)بهر حال کد های صحیح خدمت شما

 

import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;

import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentTransaction;

public class FragmentA extends Fragment {

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

    @Override
    public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
        super.onViewCreated(view, savedInstanceState);
        Button goToB=view.findViewById(R.id.btn_a_goToB);
        goToB.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                FragmentTransaction fragmentTransaction=getFragmentManager().beginTransaction();
                fragmentTransaction.replace(R.id.frame_main_fragmentContainer,new FragmentB());
                fragmentTransaction.addToBackStack(null);
                fragmentTransaction.commit();
            }
        });
    }
}
فایل پیوست

پوریا شفیعی

توسط

پوریا شفیعی

20 خرداد 00

حذف شده
()getSupportFragmentManagerسلام محمد داداش گلم فکر میکنم متود بکنی()getFragmentManager باید جایگزین تا بهت نمونه ای از کلاس مدیریت فرگمنت ها رو بده FragmentTransaction fragmentTransaction=getFragmentManager().beginTransaction(); غلط FragmentTransaction fragmentTransaction=getSupportFragmentManager().beginTransaction(); درست
Amirhossein

29 خرداد 00

0
حذف شده

()getSupportFragmentManagerسلام  محمد داداش گلم فکر میکنم متود
 بکنی()getFragmentManager باید جایگزین 
 تا بهت نمونه ای از کلاس مدیریت فرگمنت ها رو بده 

 

 

FragmentTransaction fragmentTransaction=getFragmentManager().beginTransaction();

 

 

 

FragmentTransaction fragmentTransaction=getSupportFragmentManager().beginTransaction();

فایل پیوست

Amirhossein

توسط

Amirhossein

29 خرداد 00