2012-10-29 2 views
0

J'ai le problème suivant, je gonfle une mise en page qui comprend 2 boutons. La méthode onClick fonctionne bien et tout se passe bien. Cependant, je voudrais faire les deux boutons qui sont gonflés à chaque fois invisible une fois que l'un de ces deux est cliqué. Je sais comment rendre le bouton invisbile qui a été cliqué mais je ne trouve aucun moyen de rendre le bouton correspondant invisible. Toute aide est grandement appréciée.
(Si elle est toute préoccupation, tout cela est fait dans un fragment)Layoutinflator gonfle les boutons multiples, comment rendre tous les autres boutons invisibles sur le clic

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 
     } 
    } 
} 

Répondre

1

Vous pouvez essayer ceci:

ViewGroup row = (ViewGroup) v.getParent(); 
Button dec = (Button) row.getChildAt(3); //If decline is the 4th member in the view 
dec.setVisibility(View.GONE); 
+0

Merci. C'était exactement ce que je cherchais et j'ai appris quelque chose de nouveau sur ViewGroup. Votre aide a été vraiment appréciée. – Max

+0

De rien. Heureux de vous aider. – iTurki

Questions connexes