Android Open Source - ShowMeTweets Fragment Tab Listener






From Project

Back to project page ShowMeTweets.

License

The source code is released under:

MIT License

If you think the Android project ShowMeTweets listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

package com.fcduarte.showmetweets.listeners;
//from  www. j a  v  a2s . c  o  m
import android.app.ActionBar.Tab;
import android.app.ActionBar.TabListener;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentActivity;
import android.support.v4.app.FragmentTransaction;

public class FragmentTabListener<T extends Fragment> implements TabListener {
  private Fragment mFragment;
  private final FragmentActivity mActivity;
  private final String mTag;
  private final Class<T> mClass;
  private final int mfragmentContainerId;

  // This version defaults to replacing the entire activity content area
  // new FragmentTabListener<SomeFragment>(this, "first", SomeFragment.class))
  public FragmentTabListener(FragmentActivity activity, String tag,
      Class<T> clz) {
    mActivity = activity;
    mTag = tag;
    mClass = clz;
    mfragmentContainerId = android.R.id.content;
  }

  // This version supports specifying the container to replace with fragment
  // content
  // new FragmentTabListener<SomeFragment>(R.id.flContent, this, "first",
  // SomeFragment.class))
  public FragmentTabListener(int fragmentContainerId,
      FragmentActivity activity, String tag, Class<T> clz) {
    mActivity = activity;
    mTag = tag;
    mClass = clz;
    mfragmentContainerId = fragmentContainerId;
  }

  /* The following are each of the ActionBar.TabListener callbacks */

  public void onTabSelected(Tab tab, android.app.FragmentTransaction ft) {
    FragmentTransaction sft = mActivity.getSupportFragmentManager()
        .beginTransaction();
    // Check if the fragment is already initialized
    if (mFragment == null) {
      // If not, instantiate and add it to the activity
      mFragment = Fragment.instantiate(mActivity, mClass.getName());
      sft.add(mfragmentContainerId, mFragment, mTag);
    } else {
      // If it exists, simply attach it in order to show it
      sft.attach(mFragment);
    }
    sft.commit();
  }

  public void onTabUnselected(Tab tab, android.app.FragmentTransaction ft) {
    FragmentTransaction sft = mActivity.getSupportFragmentManager()
        .beginTransaction();
    if (mFragment != null) {
      // Detach the fragment, because another one is being attached
      sft.detach(mFragment);
    }
    sft.commit();
  }

  public void onTabReselected(Tab tab, android.app.FragmentTransaction ft) {
    // User selected the already selected tab. Usually do nothing.
  }
}




Java Source Code List

com.fcduarte.showmetweets.activities.ComposeNewTweetActivity.java
com.fcduarte.showmetweets.activities.HomeActivity.java
com.fcduarte.showmetweets.activities.ProfileActivity.java
com.fcduarte.showmetweets.activities.SignInWithTwitter.java
com.fcduarte.showmetweets.adapters.TweetsListViewAdapter.java
com.fcduarte.showmetweets.dao.TweetDAO.java
com.fcduarte.showmetweets.dao.UserDAO.java
com.fcduarte.showmetweets.fragments.HomeTimelineFragment.java
com.fcduarte.showmetweets.fragments.ListTweetsFragment.java
com.fcduarte.showmetweets.fragments.MentionsTimelineFragment.java
com.fcduarte.showmetweets.fragments.UserTimelineFragment.java
com.fcduarte.showmetweets.listeners.EndlessScrollListener.java
com.fcduarte.showmetweets.listeners.FragmentTabListener.java
com.fcduarte.showmetweets.model.Tweet.java
com.fcduarte.showmetweets.model.User.java
com.fcduarte.showmetweets.utils.ConnectivityUtils.java
com.fcduarte.showmetweets.utils.TwitterUtils.java