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

设置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 了