package com.martin.ionichinabystudio.ui.adapter;
import android.content.Context;
import android.support.v4.widget.DrawerLayout;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.FrameLayout;
import android.widget.TextView;
import com.martin.ionichinabystudio.R;
import com.martin.ionichinabystudio.ui.view.CustomViewPager;
import com.rey.material.util.ThemeUtil;
/**
* @Description
* @File ${FILE_NAME}
* @Package com.martin.ionichinabystudio.ui.adapter
* @Date 2015/7/816:43
* @Author Donghongyu 1358506549@qq.com
* @Version v1.0.0
*/
public class MainActDrawerAdapter extends BaseAdapter implements View.OnClickListener {
//选项卡的显示的文字数组
private String[] mTabs;
//选中的现实的额选项卡的文字
private String mSelectedTab;
//应用的上下文
private Context mContext;
public DrawerLayout dl_navigator;
public CustomViewPager vp;
public FrameLayout fl_drawer;
public MainActDrawerAdapter(String[] mTabs, Context mContext,CustomViewPager vp,
DrawerLayout dl_navigator,FrameLayout fl_drawer) {
this.mTabs = mTabs;
this.mContext = mContext;
this.dl_navigator=dl_navigator;
this.vp=vp;
this.fl_drawer=fl_drawer;
}
public void setSelected(String tab){
if(tab != mSelectedTab){
mSelectedTab = tab;
notifyDataSetInvalidated();
}
}
public String getSelectedTab(){
return mSelectedTab;
}
@Override
public int getCount() {
return mTabs.length;
}
@Override
public Object getItem(int position) {
return mTabs[position];
}
@Override
public long getItemId(int position) {
return 0;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View v = convertView;
if(v == null) {
v = LayoutInflater.from(mContext).inflate(R.layout.row_drawer, null);
v.setOnClickListener(this);
}
v.setTag(position);
String tab = (String)getItem(position);
((TextView)v).setText(tab);
if(tab.equals(mSelectedTab)) {
v.setBackgroundColor(ThemeUtil.colorPrimary(mContext, 0));
((TextView)v).setTextColor(0xFFFFFFFF);
}
else {
v.setBackgroundResource(0);
((TextView)v).setTextColor(0xFF000000);
}
return v;
}
@Override
public void onClick(View v) {
int position = (Integer)v.getTag();
vp.setCurrentItem(position);
dl_navigator.closeDrawer(fl_drawer);
}
}