0

我有以下问题,我膨胀了一个包含 2 个按钮的布局。onClick 方法工作正常,一切运行顺利。但是,一旦单击这两个按钮中的一个,我想使每次膨胀的两个按钮都不可见。我知道如何使单击的按钮不可见,但是我找不到使相应按钮不可见的方法。任何帮助是极大的赞赏。
(如果有任何问题,这一切都在一个片段中完成)

for(i = 0; i < al.size(); i = i+6) { 
    TableLayout tl = (TableLayout)fragmentView.findViewById(R.id.myTableLayout);
    LayoutInflater inflater1 = (LayoutInflater)getActivity().getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
    View itemView = inflater1.inflate(R.layout.element_request, null);  

    TextView t1 = (TextView) itemView.findViewById(R.id.tvdescription1);   
    t1.setText(al.get(i+2)); 

    TextView t2 = (TextView) itemView.findViewById(R.id.tvdescription2);   
    t2.setText(al.get(i+3));
    String id = al.get(i+1);

    accept = (Button) itemView.findViewById(R.id.baccept);
    accept.setTag(R.id.tvdescription1, id);
    String id1 ="a"+id;
    accept.setTag(R.id.tvdescription2, id1);

    decline = (Button) itemView.findViewById(R.id.bdecline);
    decline.setTag(R.id.tvdescription1, id);
    String id2 = "b"+id;
    decline.setTag(R.id.tvdescription2,id2);
    tl.addView(itemView, new TableLayout.LayoutParams(LayoutParams.FILL_PARENT,LayoutParams.WRAP_CONTENT));

    accept.setOnClickListener(new OnClickListener() {
        public void onClick(View v) {
            crid = v.getTag(R.id.tvdescription1);
            crid2 = crid.toString();
            ....Code...
            accept = (Button)v;
            accept.setVisibility(View.GONE);
            //----->set corresponding "decline" button also Invisible
        }
    }
}
4

1 回答 1

1

你可以试试这个:

ViewGroup row = (ViewGroup) v.getParent();
Button dec = (Button) row.getChildAt(3); //If decline is the 4th member in the view
dec.setVisibility(View.GONE);
于 2012-10-29T21:52:29.270 回答