2014-11-18 4 views
1

Я хочу создать программу, в которой она будет зацикливаться на текстовом представлении и на кнопке 2 из базы данных , и я хочу сделать, когда пользователь нажмет одну из кнопок, некоторые текстовые и кнопки исчезнут, Я пробовал этот код, но тот, который исчезает только с последним введенным текстом и кнопкой, Как я могу сделать указатель или что-то, что ссылается на определенный текст или кнопку, которые я хочу, чтобы она исчезла/исчезла? Вот мой код:Указывая на петлевое текстовое представление и кнопку

private void doActionWithDatabase() { 
    // TODO Auto-generated method stub 

    myDatabase.open(); 
    countInvitation = myDatabase.countHowManyInvitation(username); 

    String groupName[] = myDatabase.fetchGroupNameInvitation(username); 
    String groupId[] = myDatabase.fetchGroupIdInvitation(username); 
    /* 
    * String data = myDatabase.getDataFromInvitation(); 
    * invGroupName.setText(data); 
    */ 
    for (int i = 0; i < countInvitation; i++) { 

     // invGroupName.setText("Invitation to join " + groupName[i]); 
     test1 = new TextView(this); 
     test1.setText("Invitation to join " + groupName[i]); 
     test1.setTag(i); 
     bAccept = new Button(this); 
     bAccept.setText("Accept yeh"); 

     bAccept.setTag(groupId[i]); 
     bAccept.setOnClickListener(new OnClickListener() { 

      @Override 
      public void onClick(View v) { 
       // TODO Auto-generated method stub 

       Button clickedButton = (Button) v; 
       String tempForGroupId = (String) clickedButton.getTag(); 
       Toast.makeText(getApplicationContext(), 
       tempForGroupId+" " +username, Toast.LENGTH_LONG).show(); 
       test1.setVisibility(View.GONE); 

       bAccept.setVisibility(View.GONE); 
       bReject.setVisibility(View.GONE); 

      /* myDatabase.open(); 
       myDatabase.addGroupMember(tempForGroupId, username); 
       myDatabase.deleteInvitation(tempForGroupId, username); 
       myDatabase.close();*/ 
      } 

     }); 

     bReject = new Button(this); 
     bReject.setText("Reject"); 
     bReject.setTag(groupId[i]); 
     bReject.setOnClickListener(new OnClickListener() { 

      @Override 
      public void onClick(View v) { 
       // TODO Auto-generated method stub 
       Button clickedButton = (Button) v; 
       String tempForGroupId = (String) clickedButton.getTag(); 
       Toast.makeText(getApplicationContext(), 
         tempForGroupId+" " +username, Toast.LENGTH_LONG).show(); 
      /* myDatabase.open(); 
       myDatabase.deleteInvitation(tempForGroupId, username); 
       myDatabase.close();*/ 
      } 

     }); 
     layout.addView(test1); 
     layout.addView(bAccept); 
     layout.addView(bReject); 

    } 

} 

ответ

0

вы должны определить свой TextView и переменные кнопки внутри вашего цикл что-то вроде

for (int i = 0; i < countInvitation; i++) { 
    final TextView test1 = new TextView(this); 
    final Button bAccept = new Button(this); 
    bAccept.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       test1.setVisibility(View.GONE); 
      } 
    }); 
    final Button bReject = new Button(this); 
} 
+0

Благодаря его действительно работает, –

Смежные вопросы