package in.srain.cube.mints.base;
import android.graphics.Color;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import java.util.ArrayList;
public abstract class MenuItemFragment extends TitleBaseFragment {
protected ArrayList<MenuItemInfo> mItemInfos = new ArrayList<MenuItemInfo>();
protected abstract void addItemInfo(ArrayList<MenuItemInfo> itemInfos);
protected abstract void setupViews(View view);
protected MenuItemInfo newItemInfo(String title, int color, OnClickListener onClickListener) {
return new MenuItemInfo(title, getResources().getColor(color), onClickListener);
}
protected MenuItemInfo newItemInfo(String title, String color, OnClickListener onClickListener) {
return new MenuItemInfo(title, Color.parseColor(color), onClickListener);
}
protected MenuItemInfo newItemInfo(int title, String color, OnClickListener onClickListener) {
return new MenuItemInfo(getString(title), Color.parseColor(color), onClickListener);
}
protected MenuItemInfo newItemInfo(int title, int color, OnClickListener onClickListener) {
return new MenuItemInfo(getString(title), getResources().getColor(color), onClickListener);
}
protected abstract int getLayoutId();
@Override
protected View createView(final LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = inflater.inflate(getLayoutId(), null);
addItemInfo(mItemInfos);
setupViews(view);
return view;
}
@Override
protected boolean enableDefaultBack() {
return false;
}
protected static class MenuItemInfo {
private int mColor;
private String mTitle;
private String mDes;
private OnClickListener mOnClickListener;
public MenuItemInfo(String title, int color, OnClickListener onClickListener) {
mTitle = title;
mColor = color;
mOnClickListener = onClickListener;
}
public void onClick(View v) {
if (mOnClickListener != null) {
mOnClickListener.onClick(v);
}
}
public int getColor() {
return mColor;
}
public String getTitle() {
return mTitle;
}
}
}