Android Open Source - CheckIt_Android Tabs Adapter






From Project

Back to project page CheckIt_Android.

License

The source code is released under:

Apache License

If you think the Android project CheckIt_Android 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

/*******************************************************************************
 * Copyright 2014 Bhavyanshu Parasher//from  w  w  w. ja  v a  2 s.c  o  m
 * 
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 * 
 *   http://www.apache.org/licenses/LICENSE-2.0
 * 
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 ******************************************************************************/
package com.pytacular.checkitcloudchecklist;

import java.util.ArrayList;

import android.content.Context;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentPagerAdapter;
import android.support.v4.app.FragmentTransaction;
import android.support.v4.view.ViewPager;
import android.util.Log;
import android.widget.Toast;

import com.actionbarsherlock.app.ActionBar;
import com.actionbarsherlock.app.ActionBar.Tab;
import com.actionbarsherlock.app.SherlockFragmentActivity;

public class TabsAdapter extends FragmentPagerAdapter implements ActionBar.TabListener , ViewPager.OnPageChangeListener{
  private final Context mContext;
  private final ActionBar mActionBar;
  private final ViewPager mViewPager;
  private final ArrayList<TabInfo> mTabs = new ArrayList<TabInfo>();
  private final String TAG = "21st Polling:";
  
  static final class TabInfo{
    private final Class<?> clss;
    private final Bundle args;
    
    TabInfo(Class<?> _class, Bundle _args){
      clss = _class;
      args = _args;
    }
  }
  
  public TabsAdapter(SherlockFragmentActivity fa, ViewPager pager) {
    super(fa.getSupportFragmentManager());
    mContext = fa;
    mActionBar = fa.getSupportActionBar();
    mViewPager = pager;
    mViewPager.setAdapter(this);
    mViewPager.setOnPageChangeListener(this);
  }
  
  public void addTab(ActionBar.Tab tab, Class<?> clss, Bundle args){
    TabInfo info = new TabInfo(clss, args);
    tab.setTag(info);
    tab.setTabListener(this);
    mTabs.add(info);
    mActionBar.addTab(tab);
    notifyDataSetChanged();
  }

  @Override
  public void onPageScrollStateChanged(int state) {
    
    
  }

  @Override
  public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
    
    
  }

  @Override
  public void onPageSelected(int position) {
    mActionBar.setSelectedNavigationItem(position);
    
  }

  @Override
  public void onTabSelected(Tab tab, FragmentTransaction ft) {
    mViewPager.setCurrentItem(tab.getPosition());
    Log.v(TAG, "clicked");
    Object tag = tab.getTag();
    for (int i = 0; i<mTabs.size(); i++){
      if (mTabs.get(i) == tag){
        mViewPager.setCurrentItem(i);
      }
    }
    
  }

  @Override
  public void onTabUnselected(Tab tab, FragmentTransaction ft) {
    Toast.makeText(mContext, "You've deselected a tab", Toast.LENGTH_SHORT).show();
  }

  @Override
  public void onTabReselected(Tab tab, FragmentTransaction ft) {
    
  }

  @Override
  public Fragment getItem(int position) {
    TabInfo info = mTabs.get(position);
    return Fragment.instantiate(mContext, info.clss.getName(), info.args);
  }

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

}




Java Source Code List

com.pytacular.checkitcloudchecklist.CheckList.java
com.pytacular.checkitcloudchecklist.InternetStatus.java
com.pytacular.checkitcloudchecklist.LoginActivity.java
com.pytacular.checkitcloudchecklist.MainActivity.java
com.pytacular.checkitcloudchecklist.PromoActivity.java
com.pytacular.checkitcloudchecklist.PromoAdapter.java
com.pytacular.checkitcloudchecklist.Promo.java
com.pytacular.checkitcloudchecklist.RegisterActivity.java
com.pytacular.checkitcloudchecklist.TabListener.java
com.pytacular.checkitcloudchecklist.TabsAdapter.java
com.pytacular.checkitcloudchecklist.TaskAdapter.java
com.pytacular.checkitcloudchecklist.Task.java