设置ListView每个item点击背景图片设置

利用itemview,fire,line来保存点击的状态 
private View itemview;
private ImageView fire, line;

 意思是,1.前两行带火的图片,其他的没有,

            2.点击一行,哪行的背景变色,右边按钮也改变颜色,其他的不变,点击另一行,开始那行还原原来的颜色

final LinearLayout forum_backs = (LinearLayout) convertView
					.findViewById(R.id.forum_backs);
			ImageView forum_fire = (ImageView) convertView
					.findViewById(R.id.forum_fire);
			final ImageView forum_image = (ImageView) convertView
					.findViewById(R.id.forum_image);
			if (index == 0 || index == 1) {
				forum_fire.setVisibility(View.VISIBLE);
			}else{
				forum_fire.setVisibility(View.INVISIBLE);
			}
			forum_backs.setOnClickListener(new OnClickListener() {
				public void onClick(View view) {

					Toast.makeText(ForumActivity.this, "第" + index + "行",
							Toast.LENGTH_SHORT).show();
					if (itemview == null) {
						itemview = view;
						// fire = forum_fire;
						line = forum_image;
					}
					if (itemview != view) {
						view.setBackgroundColor(Color.WHITE);
					}
					itemview.setBackgroundColor(android.R.color.transparent);
					view.setBackgroundResource(R.color.backs_forum);
					line.setImageResource(R.drawable.forum_label);
					forum_image.setImageResource(R.drawable.forum_label1);
					itemview = view;
					// fire = forum_fire;
					line = forum_image;

					Intent intent = new Intent(ForumActivity.this,
							ThreadListActivity.class);
					startActivity(intent);

				}
			});

 这种方法在android中一般很少遇到

有的时候遇到ListView拖动到下面,然后再返回去,之前item的状态改变原来的了,如果想记住状态,那么就设置一下状态就行了,比如ListView背景,点击的时候,背景变了,如果想记住这个状态,那么就在点击之前先判断下,比如:

int item =0;

final ImageView imageView = (ImageView) layout
					.findViewById(R.id.score_choise);
			imageView.setImageResource(R.drawable.pressed);
			if (item == 1) {
				imageView.setImageResource(R.drawable.selected);
			}
			LinearLayout ly = (LinearLayout) layout.findViewById(R.id.backs);

			ly.setOnClickListener(new OnClickListener() {
				public void onClick(View arg0) {
					if (item == 0) {
						imageView.setImageResource(R.drawable.selected);
						mID.addElement(mId);
						item = 1;
					} else {
						imageView.setImageResource(R.drawable.pressed);
						mID.remove(mId);
						item = 0;
					}
					System.out.println(mID + "**");
				}
			});
这样就OK 了

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值