package com.withiter.quhao.view.expandtab;
import java.util.ArrayList;
import java.util.LinkedList;
import android.content.Context;
import android.util.AttributeSet;
import android.util.SparseArray;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.LinearLayout;
import android.widget.ListView;
import com.withiter.quhao.R;
public class ViewMiddle extends LinearLayout implements ViewBaseAction {
private ListView regionListView;
private ListView plateListView;
private ArrayList<String> groups = new ArrayList<String>();
private LinkedList<String> childrenItem = new LinkedList<String>();
private SparseArray<LinkedList<String>> children = new SparseArray<LinkedList<String>>();
private TextAdapter plateListViewAdapter;
private TextAdapter earaListViewAdapter;
private OnSelectListener mOnSelectListener;
private int tEaraPosition = 0;
private int tBlockPosition = 0;
private String showString = "不限";
public ViewMiddle(Context context) {
super(context);
init(context);
}
public ViewMiddle(Context context, AttributeSet attrs) {
super(context, attrs);
init(context);
}
public void updateShowText(String showArea, String showBlock) {
if (showArea == null || showBlock == null) {
return;
}
for (int i = 0; i < groups.size(); i++) {
if (groups.get(i).equals(showArea)) {
earaListViewAdapter.setSelectedPosition(i);
childrenItem.clear();
if (i < children.size()) {
childrenItem.addAll(children.get(i));
}
tEaraPosition = i;
break;
}
}
for (int j = 0; j < childrenItem.size(); j++) {
if (childrenItem.get(j).replace("不限", "").equals(showBlock.trim())) {
plateListViewAdapter.setSelectedPosition(j);
tBlockPosition = j;
break;
}
}
setDefaultSelect();
}
private void init(Context context) {
LayoutInflater inflater = (LayoutInflater) context
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
inflater.inflate(R.layout.view_region, this, true);
regionListView = (ListView) findViewById(R.id.listView);
plateListView = (ListView) findViewById(R.id.listView2);
setBackgroundDrawable(getResources().getDrawable(
R.drawable.choosearea_bg_left));
for(int i=0;i<10;i++){
groups.add(i+"行");
LinkedList<String> tItem = new LinkedList<String>();
for(int j=0;j<15;j++){
tItem.add(i+"行"+j+"列");
}
children.put(i, tItem);
}
earaListViewAdapter = new TextAdapter(context, groups,
R.drawable.choose_item_selected,
R.drawable.choose_eara_item_selector);
earaListViewAdapter.setTextSize(17);
earaListViewAdapter.setSelectedPositionNoNotify(tEaraPosition);
regionListView.setAdapter(earaListViewAdapter);
earaListViewAdapter
.setOnItemClickListener(new TextAdapter.OnItemClickListener() {
@Override
public void onItemClick(View view, int position) {
if (position < children.size()) {
childrenItem.clear();
childrenItem.addAll(children.get(position));
plateListViewAdapter.notifyDataSetChanged();
}
}
});
if (tEaraPosition < children.size())
childrenItem.addAll(children.get(tEaraPosition));
plateListViewAdapter = new TextAdapter(context, childrenItem,
R.drawable.choose_item_right,
R.drawable.choose_plate_item_selector);
plateListViewAdapter.setTextSize(15);
plateListViewAdapter.setSelectedPositionNoNotify(tBlockPosition);
plateListView.setAdapter(plateListViewAdapter);
plateListViewAdapter
.setOnItemClickListener(new TextAdapter.OnItemClickListener() {
@Override
public void onItemClick(View view, final int position) {
showString = childrenItem.get(position);
if (mOnSelectListener != null) {
mOnSelectListener.getValue(showString);
}
}
});
if (tBlockPosition < childrenItem.size())
showString = childrenItem.get(tBlockPosition);
if (showString.contains("不限")) {
showString = showString.replace("不限", "");
}
setDefaultSelect();
}
public void setDefaultSelect() {
regionListView.setSelection(tEaraPosition);
plateListView.setSelection(tBlockPosition);
}
public String getShowText() {
return showString;
}
public void setShowText(String showString)
{
this.showString = showString;
}
public void setOnSelectListener(OnSelectListener onSelectListener) {
mOnSelectListener = onSelectListener;
}
public interface OnSelectListener {
public void getValue(String showText);
}
@Override
public void hide() {
// TODO Auto-generated method stub
}
@Override
public void show() {
// TODO Auto-generated method stub
}
}