package com.wistron.WiCamera;
import java.util.HashMap;
import android.content.Context;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.view.ViewGroup.LayoutParams;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.RadioButton;
import android.widget.RelativeLayout;
import android.widget.TextView;
import com.wistron.swpc.wicamera3dii.R;
public class SubListViewAdapter extends BaseAdapter {
public int mMenuItemId = -1;
private int[][] mResIdArray = null;
private SubMenuViewHolder holder;
private int mMenuItemStartId = -1;
private Context context;
private HashMap<Integer, Integer> mMap;
public SubListViewAdapter(Context context) {
// TODO Auto-generated constructor stub
this.context = context;
}
@Override
public int getCount() {
// TODO Auto-generated method stub
return mResIdArray.length;
}
@Override
public Object getItem(int arg0) {
// TODO Auto-generated method stub
return null;
}
@Override
public long getItemId(int arg0) {
// TODO Auto-generated method stub
return arg0;
}
public void setMenuItemStartId(int id) {
this.mMenuItemId = id;
mMenuItemStartId = id;
}
public int getMenuItemStartId() {
return mMenuItemId;
}
public void setResIdArray(int[][] resId) {
this.mResIdArray = resId;
}
public void setMap(HashMap<Integer, Integer> map){
mMap = map;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
holder = null;
if (convertView == null) {
holder = new SubMenuViewHolder();
convertView = LayoutInflater.from(context).inflate(R.layout.list_items_submenu, null);
holder.mText = (TextView) convertView.findViewById(R.id.Content);
holder.mImageView = (ImageView) convertView.findViewById(R.id.HeadImage);
holder.mRadioButton = (RadioButton) convertView.findViewById(R.id.rbtn);
// holder.mRadioButton.setScaleX(1f/WiCameraActivity.mDensity);
// holder.mRadioButton.setScaleY(1f/WiCameraActivity.mDensity);
convertView.setTag(holder);
} else {
holder = (SubMenuViewHolder) convertView.getTag();
}
holder.mImageView.setImageResource(mResIdArray[position][0]);
if (mResIdArray[position][0] == 0) {
RelativeLayout.LayoutParams layoutParams = new RelativeLayout.LayoutParams(0, ViewGroup.LayoutParams.WRAP_CONTENT);
layoutParams.setMargins(20, 0, 0, 0);
holder.mImageView.setLayoutParams(layoutParams);
}
holder.mText.setText(context.getResources().getText(mResIdArray[position][1]));
try {
if (mMap.size() != 0 && mMap.get(mMenuItemStartId) == position) {
holder.mRadioButton.setChecked(true);
} else {
holder.mRadioButton.setChecked(false);
}
} catch (Exception e) {
// TODO: handle exception
}
convertView.setId(mMenuItemId + position);
holder.mRadioButton.setId(position);
return convertView;
}
}
class SubMenuViewHolder {
TextView mText;
ImageView mImageView;
RadioButton mRadioButton;
}