import java.util.List;
import java.util.Map;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.TextView;
import com.tcad.util.WebTools;
public class MyArrayAdapter extends BaseAdapter{
private static List<Map<String,String>> list;
private LayoutInflater mInflater;
private ViewHolder holder;
//alertdialog 被选中初始化false
private static boolean[] isFocused ;
private static int whichClick = -1;
public MyArrayAdapter(Context context,List<Map<String,String>> objects){
list = objects;
mInflater = (LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
isFocused = new boolean[objects.size()];
for(int i=0;i<objects.size();i++){
isFocused[i] = false;
}
}
public int getCount() {
return list.size();
}
public Object getItem(int position) {
return list.get(position);
}
public long getItemId(int position) {
return position;
}
public void changeBg(int position){
isFocused[whichClick==-1?0:whichClick] = false;
whichClick = position;
isFocused[position] = true;
notifyDataSetChanged();
}
public View getView(int position, View convertView, ViewGroup parent) {
if (convertView == null) {
convertView = mInflater.inflate(R.layout.musiccategories, null);
holder = new ViewHolder();
holder.s_Name = (TextView) convertView.findViewById(R.id.s_name);
convertView.setTag(holder);
} else {
// Get the ViewHolder back to get fast access to the TextView
// and the ImageView.
holder = (ViewHolder) convertView.getTag();
}
convertView.setBackgroundResource(isFocused[position]?android.R.drawable.alert_dark_frame:android.R.drawable.alert_light_frame);
holder.s_Name.setText(list.get(position).get(WebTools.SON_GEMING));
return convertView;
}
static class ViewHolder {
TextView s_Name;
}
}
掉 MyArrayAdapter 的changeBg(int)就可以改变该项的背景