指向循环的textview和Button

时间:2014-11-18 02:43:37

标签: java android

我想创建一个程序,它将循环文本视图和数据库中的2个按钮, 并且我想在用户点击其中一个按钮时,某些文本视图和按钮将消失, 我尝试了这个代码,但只消失了最后输入的textview和按钮, 如何制作指针或某些引用某些文本视图或按钮的内容,我想让它消失/消失? 这是我的代码:

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);

    }

}

1 个答案:

答案 0 :(得分:0)

您应该在for循环中定义TextView和Button变量

之类的东西
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);
}