gpt4 book ai didi

java - 指向循环 TextView 和按钮

转载 作者:太空宇宙 更新时间:2023-11-04 14:22:58 25 4
gpt4 key购买 nike

我想制作一个程序,它将从数据库循环一个 TextView 和2个按钮,我想让当用户单击其中一个按钮时,某些 TextView 和按钮将会消失,我尝试了这段代码,但是只消失了最后输入的 TextView 和按钮,我怎样才能制作一个指针或引用某些我想让它消失/消失的 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);

}

}

最佳答案

您应该在 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);
}

关于java - 指向循环 TextView 和按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26985732/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com