android view 画线 listview,android 改变listview的item中view的值

一方面点击listview时,可以在重写的setOnItemClickListene()方法中获得item的view,从而改变

例如:

listView.setOnItemClickListener(new OnItemClickListener() {

@Override

public void onItemClick(AdapterView> listView, View view, int position,

long id) {

ImageView listimage;

listimage =(ImageView) view.findViewById(R.id.ItemImage);

listimage.setImageResource(android.R.drawable.presence_online);//改变ImageView的图片

}

});

另一方面,如果是在其他方法中调用,或者是想改变其他item的view的值的话,我的思路是重新setAdapter(adapter)

然后定位listview到你改变的那一行。

思路:向继承 BaseAdapter的类中传入想要改变item的位置,然后判断在getView中判断int  position是否等于传入的值,是就改变,否则还原默认;可以传入-1作为全部还原的标志;

核心代码:

@Override

public View getView(int position, View convertView, ViewGroup parent) {

ViewHolder holder = null;

if (convertView == null) {

// 获得ViewHolder对象

holder = new ViewHolder();

// 导入布局并赋值给convertview

convertView = inflater.inflate(R.layout.item_local, null);

holder.cb = (ImageView) convertView.findViewById(R.id.ItemImage);

// 为view设置标签

convertView.setTag(holder);

} else {

// 取出holder

holder = (ViewHolder) convertView.getTag();

}

if(position_list!=-1){

if(position_list==position){//如果传入的位置等于当前位置,则修改图片,否则还原为默认

holder.cb.setImageResource(android.R.drawable.presence_online);

}else{

holder.cb.setImageResource(android.R.drawable.presence_invisible);

}

}else{//等于-1时,设置为默认图片

holder.cb.setImageResource(android.R.drawable.presence_invisible);

}

return convertView;

}

调用时可以这样写:

1:全部还原

// 实例化自定义的MyAdapter

mAdapter = new MyAdapter(list, this,-1);

// 绑定Adapter

listView.setAdapter(mAdapter);2:设置某一个

// 实例化自定义的MyAdapter

mAdapter = new MyAdapter(audioList, this,position_list);

// 绑定Adapter

listView.setAdapter(mAdapter);

mAdapter.notifyDataSetInvalidated();//通知adapter数据有变化

listView.setSelection(currentItem);//定位到currentItem 本人大二Android新手,上个周六开始学的,到现在快一个星期了,每天白天上上课,下午踢踢球,就晚上自学一下,不知道还有什么别的方式,肯定还有!在这做个笔记,到之后有机会再改吧~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值