我想创建一个程序,它将循环文本视图和数据库中的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);
}
}
答案 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);
}