I hope he was not still waiting for that answer. On Tuesday, September 24, 2013 3:39:14 PM UTC+3, Adarsh Pandey wrote: > > use > > findViewById(R.id.fragment).setVisibility(View.GONE); > > On Wednesday, March 9, 2011 3:34:31 PM UTC+5:30, clemp6r wrote: >> >> Hi, >> >> I can't remove a Fragment that was added in an XML layout file, using >> a FragmentTransaction. I don't understand why, I probably >> misunderstood something and I would appreciate some explanations. >> >> ---- >> Here's a simple code to demonstrate my problem : >> >> ** Main layout, main.xml: >> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/ >> android" >> android:orientation="vertical" >> android:layout_width="fill_parent" android:layout_height="fill_parent" >> android:id="@+id/root" >> > >> <TextView android:id="@+id/hello_view" >> android:layout_width="fill_parent" >> android:layout_height="wrap_content" >> android:text="@string/hello" >> /> >> >> <fragment android:name="test.fragments.FragmentA" >> android:id="@+id/fragment_a" >> android:layout_width="fill_parent" >> android:layout_height="wrap_content" >> /> >> </LinearLayout> >> >> ** Main activity: >> public class TestFragmentsActivity extends Activity { >> >> @Override >> public void onCreate(Bundle savedInstanceState) { >> super.onCreate(savedInstanceState); >> setContentView(R.layout.main); >> >> TextView helloView = (TextView) >> findViewById(R.id.hello_view); >> helloView.setOnClickListener(new OnClickListener() { >> >> @Override >> public void onClick(View v) { >> FragmentManager fragmentManager = >> getFragmentManager(); >> FragmentTransaction transaction = >> fragmentManager.beginTransaction(); >> >> transaction.remove(fragmentManager.findFragmentById(R.id.fragment_a)); >> transaction.commit(); >> } >> }); >> } >> } >> >> ** My fragment class: >> public class FragmentA extends Fragment { >> >> @Override >> public View onCreateView(LayoutInflater inflater, ViewGroup >> container, Bundle savedInstanceState) { >> return inflater.inflate(R.layout.layout_a, container, >> false); >> } >> } >> >> ** Fragment layout, layout_a.xml: >> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/ >> android" android:layout_width="match_parent" >> android:layout_height="match_parent"> >> <TextView android:text="TextView A" android:id="@+id/ >> textView1_a" android:layout_width="wrap_content" >> android:layout_height="wrap_content"></TextView> >> </LinearLayout> >> ---- >> >> When I click on the text view, the fragment should be removed, but >> nothing seems to happen. If I click again, the application crashes >> with the following error messages: >> >> 03-09 09:48:09.248: ERROR/AndroidRuntime(1222): >> java.lang.NullPointerException >> 03-09 09:48:09.248: ERROR/AndroidRuntime(1222): at >> android.app.BackStackRecord.remove(BackStackRecord.java:365) >> 03-09 09:48:09.248: ERROR/AndroidRuntime(1222): at >> test.fragments.TestFragmentsActivity >> $1.onClick(TestFragmentsActivity.java:28) >> >> >> Maybe it's not possible to remove fragments that were added using XML >> layouts? >> >> Thanks in advance. > >
-- You received this message because you are subscribed to the Google Groups "Android Developers" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/android-developers?hl=en --- You received this message because you are subscribed to the Google Groups "Android Developers" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/groups/opt_out.

