Android 添加&;删除活动Java代码中的自定义布局元素
我有一个主要的活动Android 添加&;删除活动Java代码中的自定义布局元素,android,android-layout,android-activity,android-intent,Android,Android Layout,Android Activity,Android Intent,我有一个主要的活动 public class MainActivity extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); //HOW TO: dynamically add or
public class MainActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
//HOW TO: dynamically add or remove <com.my.custom.MyCustomLayout>
}
}
在我的活动java代码中,我想动态地添加或删除main.xml布局中的自定义布局元素
。
如何在我的活动Java代码中执行此操作?您必须为自定义布局定义id。在java代码中使用此id
示例:
customLayout=(LinearLayout)findViewById(id)代码>
现在使用customLayout调用布局使用自定义视图创建不同的布局文件,如:
difflayout.xml:
<com.my.custom.MyCustomLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/custom">
difflayout.xml:
参考代码部分中的容器线性布局。使用<代码> LayoutInflater > />代码>代码> AdVIEW(/COD>)和<代码> ReaveLeVIEW()/<代码> <代码> VIEW组< /Cord>类(这里是您的代码>线性布局< /代码> < P>首先考虑如果您真的想从布局中删除视图,或者只是完全隐藏它。你需要有一个很好的理由去选择后者
仅隐藏活动中要执行的视图
findViewById(R.id.custom).setVisibility(View.GONE) // to hide
// or
findViewById(R.id.custom).setVisibility(View.VISIBLE) // to show
如果确实要从布局中完全删除视图,可以
View customView = findViewById(R.id.custom);
ViewGroup parentView = (ViewGroup) customView.getParent();
parentView.removeView(customView)
您可以通过为布局元素提供id并使用addView和removeChildView()来实现这一点。嗨,Android Killer,谢谢,请您更详细,更好地使用一些示例代码,并将其作为一个答案。亲爱的,有点忙。我会尝试这样做。是的,我知道我需要id,只是为了添加到布局元素。但我关心的是如何在Java代码中添加和删除自定义布局元素
findViewById(R.id.custom).setVisibility(View.GONE) // to hide
// or
findViewById(R.id.custom).setVisibility(View.VISIBLE) // to show
View customView = findViewById(R.id.custom);
ViewGroup parentView = (ViewGroup) customView.getParent();
parentView.removeView(customView)