android ListView子项设置不同样式

1.重写SimpleAdapter的getView方法
public class mSimpleAdapter extends SimpleAdapter {
private Context context;
private int resource;
public mSimpleAdapter(Context context, List<? extends Map<String, ?>> data, int resource, String[] from, int[] to) {
    super(context, data, resource, from, to);
    this.context = context;
    this.resource = resource;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
    if(convertView==null){
        convertView= LayoutInflater.from(context).inflate(resource,parent,false);
    }
    TextView textView = convertView.findViewById(R.id.listView_item_1);
    if(!BaseActivity.codeFlags[position]){
        textView.setTextColor(Color.argb(0xff,0xaa,0xaa,0xaa));
    }else{
        textView.setTextColor(Color.argb(0xff,0xff,0xff,0xff));
    }

    return super.getView(position,convertView,parent);
}
2.点击事件改变样式
    listView = findViewById(R.id.listView);
    List<HashMap<String,String>> list = new ArrayList<>();
    for(int i=0;i<codeNames.length;i++){
        HashMap<String,String> hashMap = new HashMap<>();
        hashMap.put("codeNames",codeNames[i]);
        hashMap.put("codeTexts",codeTexts[i]);
        list.add(hashMap);
    }
    SimpleAdapter adapter = new mSimpleAdapter(this,list,R.layout.list_view,
            new String[]{"codeNames","codeTexts"},
            new int[]{R.id.listView_codeName,R.id.listView_codeText});
    listView.setAdapter(adapter);
    listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
            TextView textView = view.findViewById(R.id.listView_codeName);
            textView.setTextColor(Color.argb(0xff,0xaa,0xaa,0xaa));
        }
    });

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值