现在公司做的是电商项目,在我的优惠券界面中有个未使用和已使用, 在列表中要求 点击item 把下面的删除按钮显示出来,点击其他item的时候把 之前显示的 隐藏把正被点击的item下的删除按钮显示出来,这个其实很简单,但是有一个问题就是如果点击了一个item此时他是显示的 但是再点击同一个item的话 按到底要把它隐藏,这是考虑一个逻辑能力了,思考了一小时发现很简单 现在贴一下关键的代码
1:首先定义一个数组 int[] no_user_coupon = new int[1];//未使用
2:初始化数组值:no_user_coupon[0] = -1;
3;在listview点击事件中做一下逻辑判断
N_MyListView.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parter, View v, int postion,long arg3) {
if(no_user_coupon[0]==postion){
no_user_coupon[0] = -1;
mPosition =postion;
mN_Adapter.setPosition(mPosition,true);
mN_Adapter.notifyDataSetChanged();
}else{
no_user_coupon[0] = postion;
mPosition =postion;
mN_Adapter.setPosition(mPosition,false);
mN_Adapter.notifyDataSetChanged();
}
4:在adapter中的getView方法中 代码
if(mPosition==position){
if(isSamePosition){
rl_check_coupon_and_delete.setVisibility(View.GONE);
}else{
rl_check_coupon_and_delete.setVisibility(View.VISIBLE);
}
}else{
rl_check_coupon_and_delete.setVisibility(View.GONE);
}
OK 在此记录下