Does this apply?
http://stackoverflow.com/questions/9758799/how-to-remove-fragment-from-fragmentpageradapter

If not, there were numerous other links on Google by searching for "android
fragmentpageradapter remove fragment"

Thanks,
Justin Anderson
MagouyaWare Developer
http://sites.google.com/site/magouyaware


On Sat, Nov 2, 2013 at 9:46 AM, Boozel <[email protected]> wrote:

> Sorry its actually the *Navigation Type: Swipe Views + Title Strip* type
>
>
> On Saturday, November 2, 2013 5:45:08 PM UTC+2, Boozel wrote:
>>
>> Hi
>>
>> I have created an Activity from the template of a Blank Activity (
>> http://developer.android.com/tools/projects/templates.html#blank-activity)
>> with *Navigation Type: Tabs* or *Tabs + Swipe*
>>
>>
>> My code is below. I cannot find a way to remove a fragment. I can delete
>> a tab from the pager at the Top but the fragment below is not removed.
>> Please can you tell me what I am doing wrong? Any help would be appreciated.
>>
>> Thanks in advance.
>>
>> import android.content.Context;
>> import android.content.Intent;
>> import android.os.Bundle;
>> import android.support.v4.app.Fragment;
>> import android.support.v4.app.FragmentActivity;
>> import android.support.v4.app.FragmentManager;
>> import android.support.v4.app.FragmentPagerAdapter;
>> import android.support.v4.view.ViewPager;
>> import android.util.Log;
>> import android.view.LayoutInflater;
>> import android.view.Menu;
>> import android.view.MenuItem;
>> import android.view.View;
>> import android.view.ViewGroup;
>> import android.widget.TextView;
>> import android.widget.Toast;
>>
>> import java.util.ArrayList;
>>
>> public class MainActivity extends FragmentActivity {
>>     private static final String TAG = "Tag";
>>
>>     SectionsPagerAdapter mSectionsPagerAdapter;
>>     Context context;
>>
>>     ArrayList<String> titles;
>>     ArrayList<Fragment> frags;
>>
>>     /**
>>      * The {@link ViewPager} that will host the section contents.
>>      */
>>     ViewPager mViewPager;
>>
>>
>>     @Override
>>     protected void onCreate(Bundle savedInstanceState) {
>>         super.onCreate(savedInstanceState);
>>         context = getApplicationContext();
>>
>>         //========================
>>         titles = new ArrayList<String>();
>>         frags = new ArrayList<Fragment>();
>>         titles.add("One");
>>         titles.add("Two");
>>         titles.add("Three");
>>         titles.add("Four");
>>         createFrags();
>>         //=========================
>>
>>         setContentView(R.layout.activity_main);
>>
>>         // Create the adapter that will return a fragment for each of the
>> three
>>         // primary sections of the app.
>>
>>         mSectionsPagerAdapter = new SectionsPagerAdapter(
>> getSupportFragmentManager());
>>        // Set up the ViewPager with the sections adapter.
>>         mViewPager = (ViewPager) findViewById(R.id.pager);
>>         mViewPager.setAdapter(mSectionsPagerAdapter);
>>     }
>>
>>     public void createFrags()
>>     {
>>         for (int i = 0; i < titles.size(); i++)
>>         {
>>         Fragment fragment = genFrag(i+"");
>>          frags.add(fragment);
>>         }
>>     }
>>
>>     public Fragment genFrag(String i)
>>     {
>>         Fragment fragment = new DummySectionFragment();
>>         Bundle args = new Bundle();
>>         args.putString(DummySectionFragment.ARG_SECTION_NUMBER, i);
>>         fragment.setArguments(args);
>>         return fragment;
>>     }
>>
>>     @Override
>>     public void onDestroy()
>>     {
>>         super.onDestroy();
>>     }
>>
>>     @Override
>>     public boolean onCreateOptionsMenu(Menu menu) {
>>         // Inflate the menu; this adds items to the action bar if it is
>> present.
>>         getMenuInflater().inflate(R.menu.main, menu);
>>         return true;
>>     }
>>
>>     @Override
>>     public boolean onOptionsItemSelected(MenuItem item) {
>>         Log.d(TAG,"onOptionsItemSelected");
>>         // Handle item selection
>>         switch (item.getItemId()) {
>>             case R.id.action_settings:
>>                 Log.d(TAG,"Settings menu item pressed");
>>                 Toast.makeText(this,"Settings",Toast.LENGTH_LONG);
>>
>>                 Intent i = new Intent(getApplicationContext(),
>> SettingsActivity.class);
>>                 startActivity(i);
>>                 return true;
>>             case R.id.action_sendmsg:
>>                 Log.d(TAG,"Send Message Option Pressed");
>>                 // Start the service, keeping the device awake while it
>> is launching.
>>                 Intent intent =  new Intent(this,
>> SendMsgIntentService.class);
>>                 startService(intent);
>>                 Log.d(TAG,"Service Should be started?");
>>                 return true;
>>             case R.id.action_add:
>>                 Log.d(TAG,"Add menu item pressed");
>>                 addTab("New");
>>                 return true;
>>             case R.id.action_delete:
>>                 Log.d(TAG,"delete menu item pressed");
>>                 int a = mViewPager.getCurrentItem();
>>                 removeTab(a);
>>                 return true;
>>             default:
>>                 return super.onOptionsItemSelected(item);
>>         }
>>     }
>>
>>     public void addTab(String name)
>>     {
>>         Log.i(TAG,"Add Tab");
>>         titles.add("New");
>>         Fragment f = genFrag(name);
>>         frags.add(f);
>>         mSectionsPagerAdapter.notifyDataSetChanged();
>>
>>         /*
>>         int position = mSectionsPagerAdapter.getCount()+1;
>>
>>         Fragment fragment = new DummySectionFragment();
>>         Bundle args = new Bundle();
>>         args.putInt(DummySectionFragment.ARG_SECTION_NUMBER, position);
>>         fragment.setArguments(args);
>>
>>         mSectionsPagerAdapter.instantiateItem(mViewPager, position);
>>         mSectionsPagerAdapter.notifyAll();
>>         */
>>     }
>>
>>     public void removeTab(int position)
>>     {
>>         Log.i(TAG,"Remove Tab");
>>         if(titles.size()==1)
>>         {
>>             Toast.makeText(context, "You need to have at least one
>> page.",Toast.LENGTH_LONG).show();
>>         }else{
>>         titles.remove(position);
>>         frags.remove(position);
>>
>>         mSectionsPagerAdapter.notifyDataSetChanged();
>>         }
>>      /*
>>         mSectionsPagerAdapter.destroyItem(mViewPager, position,
>> mSectionsPagerAdapter.getItem(position));
>>         mSectionsPagerAdapter.notifyDataSetChanged();
>>      */
>>     }
>>
>>     /**
>>      * A {@link FragmentPagerAdapter} that returns a fragment
>> corresponding to
>>      * one of the sections/tabs/pages.
>>      */
>>     public class SectionsPagerAdapter extends FragmentPagerAdapter {
>>
>>         public SectionsPagerAdapter(FragmentManager fm) {
>>             super(fm);
>>         }
>>
>>
>>         @Override
>>         public Fragment getItem(int position) {
>>             // getItem is called to instantiate the fragment for the
>> given page.
>>             // Return a DummySectionFragment (defined as a static inner
>> class
>>             // below) with the page number as its lone argument.
>>             return frags.get(position);
>>         }
>>
>>         @Override
>>         public int getCount() {
>>             // Show 3 total pages.
>>             return frags.size();
>>         }
>>
>>         @Override
>>         public CharSequence getPageTitle(int position) {
>>             return titles.get(position);
>>         }
>>     }
>>
>>     /**
>>      * A dummy fragment representing a section of the app, but that simply
>>      * displays dummy text.
>>      */
>>     public static class DummySectionFragment extends Fragment {
>>         /**
>>          * The fragment argument representing the section number for this
>>          * fragment.
>>          */
>>         public static final String ARG_SECTION_NUMBER = "section_number";
>>
>>         public DummySectionFragment() {
>>         }
>>
>>         @Override
>>         public View onCreateView(LayoutInflater inflater, ViewGroup
>> container,
>>                 Bundle savedInstanceState) {
>>             View rootView = inflater.inflate(R.layout.fragment_main_dummy,
>> container, false);
>>             TextView dummyTextView = (TextView)
>> rootView.findViewById(R.id.section_label);
>>             dummyTextView.setText(getArguments().getString(ARG_
>> SECTION_NUMBER));
>>             return rootView;
>>         }
>>     }
>>
>> }
>>
>>
>>
>>
>>>  --
> 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.
>

-- 
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.

Reply via email to