android ListView子项设置不同样式
1.重写SimpleAdapter的getView方法public class mSimpleAdapter extends SimpleAdapter {private Context context;private int resource;public mSimpleAdapter(Context context, List<? extends Map<String, ?...
·
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));
}
});
}
更多推荐
已为社区贡献7条内容
所有评论(0)