满意答案
hdhjrhtz
2018.05.09
采纳率:55% 等级:7
已帮助:411人
在类中定义一个类 继承BaseAdapter
然后重写getView
public View getView(int position, View convertView,
ViewGroup parent) {}
position 就是下标 每隔两个 就是 position%3==2
下面是例子:--------------------------------------------------------------------------------------
class MyTextAdapter extends BaseAdapter {
//自定义Adapter以内部类形式存在于MainActivity中,方便访问MainActivity中的各个变量,特别是texts数组(你要显示的数组)
private Context context;//用于接收传递过来的Context对象
public MyImgAdapter(Context context) {
super();
this.context = context;
}
@Override
public int getCount() {
return texts.length;
}
@Override
public Object getItem(int position) {
return position;
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
//针对每一个数据创建一个TextView实例,
TextView tv = new TextView(context);//针对外面传递过来的Context变量,
tv.setLayoutParams(new LayoutParams(80, 80));//设置大小为80*80
tv.setText(texts[position]);//设置要显示的内容
if(position%3==2){//第三个变颜色
tv.setTextColor(Color.RED);
}else{
tv.setTextColor(Color.BLACK);
}
return tv;
}
}
00分享举报