package com.suan.weclient.fragment; import java.util.ArrayList; import android.os.AsyncTask; import android.os.Bundle; import android.support.v4.app.Fragment; import android.support.v4.app.FragmentManager; import android.support.v4.app.FragmentPagerAdapter; import android.support.v4.app.FragmentStatePagerAdapter; import android.support.v4.view.ViewPager; import android.util.Log; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.ListView; import com.suan.weclient.R; import com.suan.weclient.activity.MainActivity; import com.suan.weclient.adapter.SFragmentPagerAdapter; import com.suan.weclient.util.GlobalContext; import com.suan.weclient.util.data.DataManager; import com.suan.weclient.util.data.DataManager.ContentFragmentChangeListener; import com.suan.weclient.util.data.DataManager.LoginListener; import com.suan.weclient.util.data.DataManager.ProfileGetListener; import com.suan.weclient.util.data.DataManager.TabListener; import com.suan.weclient.util.data.DataManager.UserGroupListener; import com.suan.weclient.util.data.bean.UserBean; import com.suan.weclient.view.SViewPager; public class ContentFragment extends BaseFragment implements ViewPager.OnPageChangeListener { private View mView; private SFragmentPagerAdapter mAdapter; private SViewPager mPager; private ArrayList<Fragment> pagerItemList = null; private MassFragment massFragment; private MessageFragment messageFragment; private DataManager mDataChangeListener; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); } @Override public void onDestroy() { super.onDestroy(); } public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { MainActivity mainActivity = (MainActivity)getActivity(); mDataChangeListener = ((GlobalContext)mainActivity.getApplicationContext()).getDataManager(); initListener(mDataChangeListener); mView = inflater.inflate(R.layout.content_layout, null); initWidgets(); return mView; } private void initWidgets() { mPager = (SViewPager) mView.findViewById(R.id.vp_list); mPager.init(mDataChangeListener); pagerItemList = new ArrayList<Fragment>(); messageFragment = new MessageFragment(); massFragment = new MassFragment(); pagerItemList.add(messageFragment); pagerItemList.add(massFragment); MainActivity mainActivity = (MainActivity)getActivity(); mAdapter = new SFragmentPagerAdapter(mainActivity.getSupportFragmentManager(),pagerItemList); mPager.setAdapter(mAdapter); mPager.setPageMargin(10); mPager.setPageMarginDrawable(R.color.pageDivider); mPager.setOnPageChangeListener(this); } private void initListener(DataManager dataManager) { mDataChangeListener = dataManager; mDataChangeListener.setTabListener(new TabListener() { @Override public void onClickTab(int page) { // TODO Auto-generated method stub mPager.setCurrentItem(page); } }); mDataChangeListener.addUserGroupListener(new UserGroupListener() { @Override public void onGroupChangeEnd() { // TODO Auto-generated method stub if (mDataChangeListener.getUserGroup().size() == 0) { // nowUserTextView.setText(getActivity().getResources().getString(R.string.app_name)); } } @Override public void onAddUser() { // TODO Auto-generated method stub } @Override public void deleteUser(int index) { // TODO Auto-generated method stub } }); mDataChangeListener.addLoginListener(new LoginListener() { @Override public void onLogin(UserBean userBean) { // TODO Auto-generated method stub } }); mDataChangeListener.addProfileGetListener(new ProfileGetListener() { @Override public void onGet(UserBean userBean) { // TODO Auto-generated method stub // nowUserTextView.setText(userBean.getNickname()); } }); mDataChangeListener.setContentFragmentListener(new ContentFragmentChangeListener() { @Override public void onChange(int index) { // TODO Auto-generated method stub mPager.setCurrentItem(index, true); } }); } public ViewPager getViewPage() { return mPager; } public void onActivityCreated(Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); } public boolean isFirst() { if (mPager.getCurrentItem() == 0) return true; else return false; } public boolean isEnd() { if (mPager.getCurrentItem() == pagerItemList.size() - 1) return true; else return false; } private MyPageChangeListener myPageChangeListener; public void setMyPageChangeListener(MyPageChangeListener l) { myPageChangeListener = l; } public interface MyPageChangeListener { public void onPageSelected(int position); } @Override public void onPageScrollStateChanged(int position) { } @Override public void onPageScrolled(int position, float arg1, int arg2) { /* * arg1:percent * arg2:px */ mDataChangeListener.getPagerListener().onScroll(position, arg1); } @Override public void onPageSelected(int position) { if (myPageChangeListener != null) { myPageChangeListener.onPageSelected(position); } mDataChangeListener.getPagerListener().onPage(position); } /* @Override public void onDestroyView() { super.onDestroyView(); pagerItemList.clear(); pagerItemList = null; } */ }