如何在Android中使用自定义BaseAdapter选择/取消选择gridView项时显示/隐藏布局

如何在Android中使用自定义BaseAdapter选择/取消选择gridView项时显示/隐藏布局,android,android-fragments,gridview,baseadapter,Android,Android Fragments,Gridview,Baseadapter,这是我的适配器类 public class GridViewCustomAdapter extends BaseAdapter { private List<ProductParameterBO> availList; private LayoutInflater inflater; Context context; public GridViewCustomAdapter(Context ctx,List<ProductParameterBO> list

这是我的适配器类

  public class GridViewCustomAdapter extends BaseAdapter {


private List<ProductParameterBO> availList;


private LayoutInflater inflater;

Context context;

public GridViewCustomAdapter(Context ctx,List<ProductParameterBO> list){
    this.context = ctx;
    this.availList = list;
}

@Override
public int getCount() {
    return availList.size();
}

@Override
public Object getItem(int position) {
    return availList.get(position);
}

@Override
public long getItemId(int position) {
    ProductParameterBO c = availList.get(position);
   // long id = c.getTimeId();
    return 0;
}

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

    View row = convertView;
  final TeeTimeHolder holder;
    if (row == null){
        inflater =(LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        row = inflater.inflate(R.layout.grid_row,parent,false);
        holder = new TeeTimeHolder();
        holder.myImage =(ImageView)row.findViewById(R.id.imageView10);
        holder.imageflip =(ImageView)row.findViewById(R.id.img_flp);
        holder.name =(TextView)row.findViewById(R.id.textView47);
        holder.edit =(TextView)row.findViewById(R.id.textView49);
        holder.rl =(RelativeLayout)row.findViewById(R.id.grid_img_ovrly);
      //  holder.row =(RelativeLayout)row.findViewById(R.id.row);
        row.setTag(holder);
    }
    else {
        holder =(TeeTimeHolder)row.getTag();
    }

    holder.name.setText(availList.get(position).getParameterName());
    holder.myImage.setImageResource(R.drawable.toi);
    holder.rl.setVisibility(View.GONE);



    return row;
}




static class TeeTimeHolder {
    ImageView myImage,imageflip;

    TextView name,edit;

    RelativeLayout rl;
 }
}
公共类GridViewCustomAdapter扩展了BaseAdapter{
私有列表可用;
私人充气机;
语境;
公共GridViewCustomAdapter(上下文ctx,列表){
this.context=ctx;
this.availist=列表;
}
@凌驾
public int getCount(){
return availist.size();
}
@凌驾
公共对象getItem(int位置){
返回availist.get(位置);
}
@凌驾
公共长getItemId(int位置){
ProductParameterBO c=availist.get(位置);
//long id=c.getTimeId();
返回0;
}
@凌驾
公共视图getView(最终整型位置、视图转换视图、最终视图组父视图){
视图行=转换视图;
最终持票人;
if(行==null){
充气器=(LayoutFlater)context.getSystemService(context.LAYOUT\u充气器\u服务);
行=充气机。充气(右布局。网格_行,父,假);
保持架=新的T形计时保持架();
holder.myImage=(ImageView)row.findViewById(R.id.imageView10);
holder.imageflip=(ImageView)row.findViewById(R.id.img_flp);
holder.name=(TextView)row.findViewById(R.id.textView47);
holder.edit=(TextView)row.findViewById(R.id.textView49);
holder.rl=(RelativeLayout)row.findViewById(R.id.grid\u img\u ovrly);
//holder.row=(RelativeLayout)row.findViewById(R.id.row);
row.setTag(支架);
}
否则{
holder=(TeeTimeHolder)行。getTag();
}
holder.name.setText(availist.get(position.getParameterName());
holder.myImage.setImageResource(R.drawable.toi);
holder.rl.setVisibility(视图已消失);
返回行;
}
静态类计时器{
ImageView我的图像,imageflip;
文本视图名称,编辑;
相对寿命;
}
}
我只想在选择行时显示Relativelayout r1,在选择下一行时,上一行必须隐藏Relativelayout r1布局,并在选择的行上显示。。现在在我的例子中,当我选择下一行时,它不会隐藏在前一行中。布局仍然显示在我选择的所有行上

请帮我解决这个问题..如果您有任何帮助,我们将不胜感激..

int priviousPosition=0;
 int priviousPosition=0;
    ArrayList<View> viewList= new ArrayList<View>();
    holder.rl.setTag(position);
    viewList.add(holder.rl);
    row.findViewById(R.id.grid_img_ovrly).setOnClickListener(new OnClickListener() {

    public void onClick(View v1) { 

    View v=viewList.get(priviousPosition);
    v.setVisibility(View.GONE);

    int postition=(Integer) v1.getTag();
    priviousPosition=postition;
    notifyDataSetChanged();

    }

    });
ArrayList viewList=新建ArrayList(); 支架rl设置标签(位置); viewList.add(holder.rl); row.findviewbyd(R.id.grid\u img\u ovrly).setOnClickListener(新的OnClickListener(){ 公共void onClick(视图v1){ View v=viewList.get(priviousPosition); v、 设置可见性(View.GONE); int position=(整数)v1.getTag(); 秘密职位=职位; notifyDataSetChanged(); } });
大家好,请帮我解决这个问题。。。