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