首页 > 代码库 > ListView中Button事件

ListView中Button事件


为了解决ListView中Item里的Button独立事件响应,可以采用以下方法:

在BaseAdapter的getview里添加加粗代码:


<span style="font-size:14px;">@Override
	public View getView(int position, View view, ViewGroup arg2) {
		view = layoutInflater.from(context).inflate(
				R.layout.sport_user_list_item, null);

		TextView text1 = (TextView) view.findViewById(R.id.user_name);
		TextView text2 = (TextView) view.findViewById(R.id.user_grade);
		
		Button button1 = (Button) view.findViewById(R.id.challenger_btn);

		text1.setText("姓名");
		text2.setText("等级");

		String user = sportUserList.get(position).getUser();
		UserCode[] codes = challengeDBAdapter.queryOneData(user);

		if (codes == null) {
			text6.setVisibility(8);
			<span style="font-size:18px;"><strong>button1.setTag(position + "");</strong></span>

			button1.setOnClickListener(new OnClickListener() {
				@Override
				public void onClick(View v) {

					<strong><span style="font-size:18px;">int temp = Integer.parseInt(v.getTag().toString()) ;</span></strong>
// 设置验证码
SetChallengeCodeThread codeThread = new SetChallengeCodeThread(temp);
codeThread.start();

				}
			});
		} else {
			text6.setText(codes[0].getCode() + "");
			button1.setVisibility(8);
		}

		return view;
	}
</span>