টুকরা ভিতরে টুকরা


137

খণ্ডের অভ্যন্তরে টুকরো টুকরো টুকরো করে কাজ করা সম্পর্কে আমার সাহায্য দরকার, আসলে আমি পিছনে বোতাম টিপতে কোনও সমস্যার মুখোমুখি হচ্ছি। অ্যাপ্লিকেশন মেইন স্ক্রিনে বাটন রয়েছে এবং প্রতিটি বোতামের ভিউতে টিপে নতুন ফ্রেগমেন্টের সাথে প্রতিস্থাপন করা হয় (এবং সেই অংশটি অন্য খণ্ডের অভ্যন্তরে থাকে), গতিশীলভাবে যোগ করা / প্রতিস্থাপনের অংশটি ঠিকঠাকভাবে কাজ করে, বোতাম 1 টুকরাটি প্রতিস্থাপন করে বোতাম টিপে একই হয়, তবে আমি টিপলে আবার বোতামটি, একটি ব্যতিক্রম পেয়েছে:

"Duplicate id 0x7f05000a, tag null, or parent id 0x7f050009 with
another fragment for com........ fragmentname"

এর অর্থ খণ্ড বা অভ্যন্তর টুকরা ইতিমধ্যে যুক্ত হয়ে গেছে এবং আমি আবার এগুলি যুক্ত করার চেষ্টা করছি, কারও ধারণা রয়েছে যে কীভাবে খণ্ডের অভ্যন্তরে টুকরো টুকরো করে কাজ করা যায় এবং কোনও সমস্যা ছাড়াই পিছনে পিছনে সরানো যায়, সমর্থনটির জন্য ধন্যবাদ।

মেইনএ্যাকটিভিটি, যেখানে খণ্ডগুলি গতিশীল যুক্ত এবং প্রতিস্থাপন করা হয়।

public class FragmentInsideFragmentTestActivity extends Activity {

    private Button button1;
    private Button button2;
    private Button button3;
    private Button button4;


    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        button1 =(Button) this.findViewById(R.id.button1);
        button1.setOnClickListener(new View.OnClickListener() {
           public void onClick(View view) {
               onButtonClick(view);
            }
        });

        button2 =(Button) this.findViewById(R.id.button2);
        button2.setOnClickListener(new View.OnClickListener() {
            public void onClick(View view) {
                onButtonClick(view);
            }
        });

        button3 =(Button) this.findViewById(R.id.button3);
        button3.setOnClickListener(new View.OnClickListener() {
            public void onClick(View view) {
               onButtonClick(view);
            }
        });

        button4 =(Button) this.findViewById(R.id.button4);
        button4.setOnClickListener(new View.OnClickListener() {
           public void onClick(View view) {
               onButtonClick(view);
           }
        });
    }

    public void onButtonClick(View v) {
        Fragment fg;

        switch (v.getId()) {
           case R.id.button1:
                   fg=FirstFragment.newInstance();
                   replaceFragment(fg);
                   break;
           case R.id.button2:
                   fg=SecondFragment.newInstance();
                   replaceFragment(fg);
                   break;
           case R.id.button3:
                   fg=FirstFragment.newInstance();
                   replaceFragment(fg);
                   break;
           case R.id.button4:
                   fg=SecondFragment.newInstance();
                   replaceFragment(fg);
                   break;
        }
    }

    private void replaceFragment(Fragment newFragment) {
       FragmentTransaction trasection = getFragmentManager().beginTransaction();

        if(!newFragment.isAdded()) {
            try {
                //FragmentTransaction trasection =
                getFragmentManager().beginTransaction();
                trasection.replace(R.id.linearLayout2, newFragment);
                trasection.addToBackStack(null);
                trasection.commit();
            } catch (Exception e) {
                // TODO: handle exception
                // AppConstants.printLog(e.getMessage());
            } else {
                trasection.show(newFragment);
            }
        }
    }

এখানে লেআউট: main.xML

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical">

    <LinearLayout
        android:id="@+id/linearLayout1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal">

        <Button
            android:id="@+id/button1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Button1" />

        <Button
            android:id="@+id/button2"
            android:text="Button2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" />

        <Button
            android:id="@+id/button3"
            android:text="Button3"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" />

        <Button
            android:id="@+id/button4"
            android:text="Button4"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" />
    </LinearLayout>

    <LinearLayout
        android:id="@+id/linearLayout2"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal" />
</LinearLayout>

আশা করি আমি আমার সমস্যাটি পরিষ্কার করার চেষ্টা করেছি।


1
উপরের কোডটি অ্যান্ড্রয়েড 3.1- এর সাথে আমার জন্য পুরোপুরি ঠিকঠাক কাজ করছে
ভিভেক


আরো বিস্তারিত জানার জন্য পড়ুন stackoverflow.com/a/11020531/1219456
Raneez আহমেদ

উত্তর:


284

আফাইক, টুকরা টুকরা অন্য টুকরো ধরে রাখতে পারে না।


হালনাগাদ

অ্যান্ড্রয়েড সমর্থন প্যাকেজের বর্তমান সংস্করণগুলি - বা এপিআই স্তরের 17 এবং উচ্চতর নেটিভ টুকরো - এর মাধ্যমে আপনি টুকরো টুকরো টুকরো করতে পারেন getChildFragmentManager()। মনে রাখবেন এর অর্থ এই যে আপনার এপিআই স্তরের 11-16 টুকরো টুকরোগুলির অ্যান্ড্রয়েড সমর্থন প্যাকেজ সংস্করণটি ব্যবহার করা দরকার, কারণ those ডিভাইসগুলিতে টুকরাগুলির দেশীয় সংস্করণ থাকা সত্ত্বেও সেই সংস্করণটি নেই getChildFragmentManager()


30
প্ল্যাটফর্ম সত্যিই এখানে স্তন্যপান। আমি এটি ডিবাগিংয়ে তিন ঘন্টা ব্যয় করেছি কারণ অভ্যন্তরীণ খণ্ডটি প্রথমবার জরিমানা করে দেবে, তবে স্ক্রিনের ওরিয়েন্টেশন পরিবর্তনের পরে অদৃশ্য হয়ে যাবে । কোনও ব্যতিক্রম নয়, লগ তথ্য, কিছুই। অভ্যন্তরীণ টুকরা (করুণা) থেকে স্যুইচিং getChildFragmentManager()এবং অপসারণ setRetainInstance(true)এটি স্থির করে। আবার আমার বেকন সংরক্ষণ করার জন্য ধন্যবাদ, @ কমন্সওয়্যার।
ফেলিক্স

82

এখানে চিত্র বর্ণনা লিখুন

আমার আরও কিছু প্রসঙ্গের দরকার ছিল, সুতরাং এটি কীভাবে হয় তা দেখানোর জন্য আমি একটি উদাহরণ তৈরি করেছি। প্রস্তুতির সময় আমি সবচেয়ে সহায়ক জিনিসটি পড়েছিলাম:

কার্যকলাপ

activity_main.xml

FrameLayoutঅভিভাবক খণ্ডটি ধরে রাখতে আপনার ক্রিয়াকলাপে একটি যুক্ত করুন ।

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
              android:orientation="vertical"
              android:layout_width="match_parent"
              android:layout_height="match_parent">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Activity"/>

    <FrameLayout
        android:id="@+id/parent_fragment_container"
        android:layout_width="match_parent"
        android:layout_height="200dp"/>

 </LinearLayout>

MainActivity.java

অভিভাবক খণ্ড লোড করুন এবং খণ্ড শ্রোতাদের প্রয়োগ করুন। ( টুকরো যোগাযোগ দেখুন ।)

import android.support.v4.app.FragmentTransaction;
import android.support.v7.app.AppCompatActivity;

public class MainActivity extends AppCompatActivity implements ParentFragment.OnFragmentInteractionListener, ChildFragment.OnFragmentInteractionListener {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        // Begin the transaction
        FragmentTransaction ft = getSupportFragmentManager().beginTransaction();
        ft.replace(R.id.parent_fragment_container, new ParentFragment());
        ft.commit();
    }

    @Override
    public void messageFromParentFragment(Uri uri) {
        Log.i("TAG", "received communication from parent fragment");
    }

    @Override
    public void messageFromChildFragment(Uri uri) {
        Log.i("TAG", "received communication from child fragment");
    }
}

অভিভাবক খণ্ড

fragment_parent.xml

FrameLayoutশিশু খণ্ডের জন্য আরেকটি ধারক যুক্ত করুন ।

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
              android:orientation="vertical"
              android:layout_width="match_parent"
              android:layout_height="match_parent"
              android:layout_margin="20dp"
              android:background="#91d0c2">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Parent fragment"/>

    <FrameLayout
        android:id="@+id/child_fragment_container"
        android:layout_width="match_parent"
        android:layout_height="match_parent">

    </FrameLayout>

</LinearLayout>

ParentFragment.java

ব্যবহারের getChildFragmentManagerমধ্যে onViewCreatedশিশু টুকরা সেট আপ করার জন্য।

import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentTransaction;    

public class ParentFragment extends Fragment {

    private OnFragmentInteractionListener mListener;

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        // Inflate the layout for this fragment
        return inflater.inflate(R.layout.fragment_parent, container, false);
    }

    @Override
    public void onViewCreated(View view, Bundle savedInstanceState) {
        Fragment childFragment = new ChildFragment();
        FragmentTransaction transaction = getChildFragmentManager().beginTransaction();
        transaction.replace(R.id.child_fragment_container, childFragment).commit();
    }


    @Override
    public void onAttach(Context context) {
        super.onAttach(context);
        if (context instanceof OnFragmentInteractionListener) {
            mListener = (OnFragmentInteractionListener) context;
        } else {
            throw new RuntimeException(context.toString()
                    + " must implement OnFragmentInteractionListener");
        }
    }

    @Override
    public void onDetach() {
        super.onDetach();
        mListener = null;
    }

    public interface OnFragmentInteractionListener {
        // TODO: Update argument type and name
        void messageFromParentFragment(Uri uri);
    }
}

শিশু খণ্ড

fragment_child.xml

এখানে বিশেষ কিছু নেই।

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
              android:orientation="vertical"
              android:layout_width="match_parent"
              android:layout_height="match_parent"
              android:layout_margin="20dp"
              android:background="#f1ff91">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Child fragment"/>
</LinearLayout>

ChildFragment.java

এখানে খুব বিশেষ কিছু নেই।

import android.support.v4.app.Fragment;

public class ChildFragment extends Fragment {

    private OnFragmentInteractionListener mListener;


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

    @Override
    public void onAttach(Context context) {
        super.onAttach(context);
        if (context instanceof OnFragmentInteractionListener) {
            mListener = (OnFragmentInteractionListener) context;
        } else {
            throw new RuntimeException(context.toString()
                    + " must implement OnFragmentInteractionListener");
        }
    }

    @Override
    public void onDetach() {
        super.onDetach();
        mListener = null;
    }


    public interface OnFragmentInteractionListener {
        // TODO: Update argument type and name
        void messageFromChildFragment(Uri uri);
    }
}

মন্তব্য

  • সমর্থন লাইব্রেরিটি ব্যবহার করা হচ্ছে যাতে অ্যানড্রয়েড ৪.২ এর আগে নেস্টেড টুকরো ব্যবহার করা যায়।

67

অ্যান্ড্রয়েড ৪.২ (এপিআই 17) নেস্টেড টুকরো উপলব্ধ হয়ে যায় http://developer.android.com/about/versions/android-4.2.html#NestedFragments

অন্যান্য খণ্ডের ভিতরে টুকরো টুকরো রাখার জন্য চাইল্ডফ্রেগমেন্টম্যানেজার () ব্যবহার করুন

এটি সমর্থন লাইব্রেরিতেও উপলভ্য!


দয়া করে আপনার উত্তরটি আপডেট করে উল্লেখ করুন যে সমর্থন লিবিব ইতিমধ্যে অ্যান্ড্রয়েড 1.6+ থেকে নেস্টেড ফ্র্যাজমেন্টগুলিকে সমর্থন করে
FindOutIslam এখন

13

খণ্ডগুলিকে অন্য টুকরাগুলির মধ্যে যুক্ত করা যেতে পারে তবে যখন প্রতিবার পিতামণ্ডিত onDestroyView()খণ্ডের পদ্ধতি বলা হয় তখন আপনাকে এটিকে প্যারেন্ট ফ্রেগমেন্ট থেকে সরিয়ে ফেলতে হবে । এবং আবার এটি প্যারেন্ট ফ্রেগমেন্টে যুক্ত করুনonCreateView() পদ্ধতিতে যুক্ত করুন।

কেবল এটির মতো করুন:

@Override
    public void onDestroyView()
    {
                FragmentManager mFragmentMgr= getFragmentManager();
        FragmentTransaction mTransaction = mFragmentMgr.beginTransaction();
                Fragment childFragment =mFragmentMgr.findFragmentByTag("qa_fragment")
        mTransaction.remove(childFragment);
        mTransaction.commit();
        super.onDestroyView();
    }

4
এটি আমার পক্ষে কার্যকর হয়নি। আমার একটি টুকরো ছিল যা দুটি সন্তানের মতামত সম্বলিত একটি দৃষ্টিভঙ্গিকে ফুলে উঠল। ইন onActivityCreated()এটা দুই টুকরা, মতামত প্রতিটি মধ্যে একটিকে জুড়েছেন ব্যবহার getFragmentManager()। এটি প্রথমবারের মতো কাজ করেছিল, তবে ঘূর্ণন এবং পুনরারম্ভের সময় কেবলমাত্র একটি টুকরো দৃশ্যমান ছিল। getChildFragmentManager()পরিবর্তে এর সাথে আচরণটি সঠিক ছিল । ক্রিয়াকলাপটি onSaveInstanceState()ইতিমধ্যে কল করার আগে থেকে এখানে প্রস্তাবিত পদ্ধতির ব্যতিক্রম ছুঁড়েছে । commitAllowingStateLoss()ব্যতিক্রমটি ব্যবহার করে লেনদেনের প্রতিশ্রুতিবদ্ধ হওয়া ব্যতিক্রম এড়ানো হয়েছে তবে আসল সমস্যাটি সমাধান করেনি।
ব্যবহারকারী 1978019

8

আমি এই সমস্যাটি সমাধান করেছি। আপনি সমর্থন লাইব্রেরি এবং ব্যবহার করতে পারেন ViewPager। আপনার যদি ইশারা করে সোয়াইপিংয়ের দরকার না হয় আপনি সোয়াইপিং অক্ষম করতে পারেন। সুতরাং আমার সমাধানটি উন্নত করার জন্য এখানে কিছু কোড রয়েছে:

public class TestFragment extends Fragment{
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
    View v = inflater.inflate(R.layout.frag, container, false);
    final ArrayList<Fragment> list = new ArrayList<Fragment>();

    list.add(new TrFrag());
    list.add(new TrFrag());
    list.add(new TrFrag());

    ViewPager pager = (ViewPager) v.findViewById(R.id.pager);
    pager.setAdapter(new FragmentPagerAdapter(getChildFragmentManager()) {
        @Override
        public Fragment getItem(int i) {
            return list.get(i);
        }

        @Override
        public int getCount() {
            return list.size();
        }
    });
    return v;
}
}

PSIt পরীক্ষার জন্য কুৎসিত কোড, তবে এটি উন্নতি করে যে এটি সম্ভব।

পিপিএস ইনসাইড টুকরোটি ChildFragmentManagerপাস করা উচিতViewPagerAdapter


8

আপনি getChildFragmentManager()ফাংশন ব্যবহার করতে পারেন ।

উদাহরণ:

অভিভাবক খণ্ড:

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
        Bundle savedInstanceState) {

    rootView = inflater.inflate(R.layout.parent_fragment, container,
            false);


    }

    //child fragment 
    FragmentManager childFragMan = getChildFragmentManager();
    FragmentTransaction childFragTrans = childFragMan.beginTransaction();
    ChildFragment fragB = new ChildFragment ();
    childFragTrans.add(R.id.FRAGMENT_PLACEHOLDER, fragB);
    childFragTrans.addToBackStack("B");
    childFragTrans.commit();        


    return rootView;
}

মূল লেআউট ( parent_fragment.xml):

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical" android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@android:color/white">



    <FrameLayout
        android:id="@+id/FRAGMENT_PLACEHOLDER"
        android:layout_width="match_parent"
        android:layout_height="match_parent"/>




</LinearLayout>

শিশু খণ্ড:

public class ChildFragment extends Fragment implements View.OnClickListener{

    View v ;
    @Override
    public View onCreateView(LayoutInflater inflater,
                             @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        View rootView = inflater.inflate(R.layout.child_fragment, container, false);


        v = rootView;


        return rootView;
    }



    @Override
    public void onClick(View view) {


    }


} 

4

এটা জটিল কিছু নয়। আমরা getFragmentManager()এখানে ব্যবহার করতে পারি না । কোনও খণ্ডের অভ্যন্তরে টুকরোগুলি ব্যবহার করার জন্য , আমরা ব্যবহার করি getChildFragmentManager()। বিশ্রাম একই হবে।


3

আপনি FrameLayoutখণ্ডটিতে যুক্ত করতে পারেন এবং এটি আরম্ভ করার সাথে সাথে এটি অন্য খণ্ডের সাথে প্রতিস্থাপন করতে পারেন ।

এইভাবে, আপনি অন্য খণ্ডটিকে প্রথম খণ্ডের অভ্যন্তরে বিবেচনা করতে পারেন।



2

নির্ভুলভাবে নেস্টেড টুকরাতে, নেস্টেড এক (গুলি) কেবল তখনই সমর্থিত হয় যদি তারা প্রোগ্রামিকভাবে উত্পন্ন হয়! সুতরাং এই মুহুর্তে কোনও নেস্টেড টুকরা লেআউট এক্সএমএল লেআউট স্কিমে সমর্থিত নয়!


1

এটি যারা কোটলিনে কাজ করে তাদের এক্সটেনশন ফাংশনটি ব্যবহার করতে পারেন তাই কোটলিন ফাইল তৈরি করুন যাক "Use.kt" এবং কোডের এই অংশটি যুক্ত করুন

fun Fragment.addChildFragment(fragment: Fragment, frameId: Int) {

    val transaction = childFragmentManager.beginTransaction()
    transaction.replace(frameId, fragment).commit()
}

বলা যাক এটি সন্তানের ক্লাস

class InputFieldPresentation: Fragment()
{
    var views: View? = null
    override fun onCreateView(inflater: LayoutInflater?, container: ViewGroup?,
                              savedInstanceState: Bundle?): View? {
        views = inflater!!.inflate(R.layout.input_field_frag, container, false)
        return views
    }

    override fun onViewCreated(view: View?, savedInstanceState: Bundle?) {
        super.onViewCreated(view, savedInstanceState)
        ...
    }
    ...
}

এখন আপনার কাছে শিশু যোগ করতে পারেন পিতা টুকরা ভালো

 FatherPresentation:Fragment()
{
  ...

    override fun onViewCreated(view: View?, savedInstanceState: Bundle?) {
        super.onViewCreated(view, savedInstanceState)
        val fieldFragment= InputFieldPresentation()
        addChildFragment(fieldFragment,R.id.fragmet_field)
    }
...
}

যেখানে আর.আইডি.ফ্রেগমেট_ফিল্ডটি লেআউটটির আইডি যা এতে খণ্ড থাকবে। এখানে একটি উদাহরণ

বাবা_ফ্র্যাগমেন্ট.এক্সএমএল :

<LinearLayout android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    xmlns:android="http://schemas.android.com/apk/res/android"
    >

    ...

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:gravity="center"
            android:id="@+id/fragmet_field"
            android:orientation="vertical"
            >
        </LinearLayout>
    ...

    </LinearLayout>

1

এর জন্য কোনও সমর্থন নেই MapFragment, অ্যান্ড্রয়েড টিম বলছে যে অ্যান্ড্রয়েড 3.0.০ থেকে এটি কাজ করছে। এখানে সমস্যা সম্পর্কে আরও তথ্য কিন্তু আপনি এটি করতে পারেন এমন একটি খণ্ড তৈরি করে যা a MapActivityএখানে একটি কোড উদাহরণ। ইনজারুককে ধন্যবাদ:

কিভাবে এটা কাজ করে :

  • মেইনফ্রেগমেন্টএটিভিটি এমন ক্রিয়াকলাপ যা FragmentActivityদুটি মানচিত্রের প্রসার এবং হোস্ট করে।
  • মাইম্যাপএটিভিটি ম্যাপঅ্যাক্টিভিটি প্রসারিত করে এবং আছে MapView.
  • LocalActivityManagerFragment স্থানীয়অ্যাক্টিভিটি ম্যানেজার হোস্ট করে।
  • মাইম্যাপফ্র্যাগমেন্ট প্রসারিত হয় LocalActivityManagerFragmentএবং সহায়তায় মাইম্যাপএটিভিটির TabHostঅভ্যন্তরীণ উদাহরণ তৈরি করে।

আপনার যদি কোনও সন্দেহ থাকে তবে আমাকে জানান


0

হাই, আমি প্রতি খণ্ডটি পৃথক বিন্যাসে রেখে সমস্যার সমাধান করেছি nd

আমি বোঝাতে চাই:

<?xml version="1.0" encoding="utf-8"?>
 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 android:orientation="vertical"
 android:layout_width="fill_parent"
 android:layout_height="fill_parent">

     <LinearLayout android:id="@+id/linearLayout1"
           android:layout_width="match_parent"
           android:layout_height="wrap_content"
           android:orientation="horizontal">
           <Button android:layout_width="wrap_content"
                   android:id="@+id/button1"
                   android:layout_height="wrap_content"
                   android:text="Button1"></Button>
           <Button android:text="Button2"
                   android:id="@+id/button2"
                   android:layout_width="wrap_content"
                   android:layout_height="wrap_content"></Button>
           <Button android:text="Button3"
                   android:id="@+id/button3"
                   android:layout_width="wrap_content"
                   android:layout_height="wrap_content"></Button>
           <Button android:text="Button4"
                   android:id="@+id/button4"
                   android:layout_width="wrap_content"
                   android:layout_height="wrap_content"></Button>
   </LinearLayout>
   <LinearLayout android:layout_width="full_screen"
              android:layout_height="0dp"
              android:layout_weight="1"
              android:id="action_For_Button1"
              android:visibility="visible">
                    <Fragment android:layout_width="full_screen"
                              android:layout_height="full_screen"
                              android:id="fragment1"
                                        .
                                        .
                                        .
             / >
     </LinearLayout>

     <LinearLayout android:layout_width="full_screen"
              android:layout_height="0dp"
              android:id="action_For_Button1"
              android:layout_weight="1"
              android:visibility="gone">
                       <Fragment android:layout_width="full_screen"
                                 android:layout_height="full_screen"
                                 android:id="fragment2"
                                           .
                                           .
                                           .
             / >
        </LinearLayout>
                     .
                     .
                     .
        </LinearLayout>

আমি ধরে নিয়েছি যে 1 টি বোতামটি ক্লিক করা হিসাবে আপনি আপনার পৃষ্ঠাটি খুলবেন click আপনি ক্লিক অ্যাকশনে আপনার খণ্ডটির দৃশ্যমানতা নিয়ন্ত্রণ করতে পারেন related আপনি সম্পর্কিত লেআউটটিকে দৃশ্যমান করতে পারেন এবং অন্যরা গিয়েছেন এবং ফ্রেগমেন্ট ম্যানেজার দ্বারা আপনি আপনার খণ্ডটি নিতে পারেন his এই পদ্ধতিটি আমার পক্ষে কাজ করেছে। এবং যেহেতু দর্শনযোগ্যতা রয়েছে এমন দৃশ্যটি: অদৃশ্য হয়ে গেছে এবং লেআউটের উদ্দেশ্যে এটি কোনও স্থান নেয় না বলে আমি মনে করি এই পদ্ধতির কোনও স্থানের সমস্যা হয় না।

পিএস: আমি কেবল আমার সমাধান কোডটি ব্যাখ্যা করার চেষ্টা করেছি যাতে সিনট্যাক্স ভুল বা অপূর্ণবিযুক্ত কাঠামো থাকতে পারে।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.