0

次の問題があります。2つのボタンを含むレイアウトを膨らませます。onClickメソッドは正常に機能し、すべてがスムーズに実行されます。ただし、2つのボタンのいずれかがクリックされると、毎回膨らむ両方のボタンが非表示になります。クリックされたボタンを非表示にする方法は知っていますが、対応するボタンを非表示にする方法が見つかりません。どんな助けでも大歓迎です。
(懸念がある場合、これはすべてフラグメントで行われます)

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 に答える