您好,我已经设置(充分膨胀)了一堆按钮,它们是从包含按钮、 TextView 等的相对布局构建的。我希望能够删除/隐藏/消失整个按钮集。我假设我可以在 RelativeLayout 上执行 setVisibility(View.GONE)
但我不确定如何引用此布局。我已经为它设置了一个 ID,但在尝试引用它时我真的迷路了。启动此代码的按钮是一个删除按钮,因此 OnClick(View v) 包含删除按钮的 ID。我刚刚尝试了 getparent,但效果不是很好(崩溃)。
谁能指出我正确的方向?
这里是我试过的 getparent 代码。
RelativeLayout dropping = (RelativeLayout) ((Activity) v.getParent()).findViewById(R.id.tp_container);
dropping.setVisibility(View.GONE);
我希望有这样的东西,如果可能的话,id 可以用另一个变量来表达?
relativeViewVariable.id(actualId).setVisibility(View.GONE);
这很尴尬,但我不知道这是 Java 还是 Android 问题?
干杯
最佳答案
如果您动态创建 View ,那么您必须设置自定义 ID,然后从它的父 View 中获取具有该 ID 的 View !。
View textView;
RelativeLayout layout = new RelativeLayout (this);
setContentView(layout);
for(int i=0;i<10;i++){
textView = new TextView(this);
textView.setId(i);
layout.addView(textView);
}
/* FOR LOOP THAT ONE */
TextView referencedTextView = (TextView) layout.findViewById(5);
referencedTextView.setVisibility(View.GONE);
如果您只想隐藏布局中的所有按钮,您可以遍历所有父 View 。
LinearLayout layout;
View view;
for (int i = 0; i < layout.getChildCount(); i++) {
if(layout.getChildAt(i) instanceof Button){
((Button)layout.getChildAt(i)).setVisibility(View.GONE);
}
}
关于Java (Android) : Ive created a bunch of views using a loop, 并希望删除其中之一,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10009632/