android - 在 Java 中将 View 添加到 XML 布局

标签 android

我已经有一个 XML 布局,其中有一些按钮,现在我想将一个 TextView 添加到相同的布局,但在我的 Java 类中。在“addView”行之前我没有收到任何错误。如果有人能告诉我一种更好的方法来添加到 Java 中预先存在的 XML 布局,我也将不胜感激。

public class MyActivity extends Activity{
TextView textview;
RelativeLayout layout;


@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
layout=(RelativeLayout)findViewById(R.id.mylayout); 
RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParam(RelativeLayout.LayoutParams.WRAP_CONTENT, RelativeLayout.LayoutParams.WRAP_CONTENT);
params.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM, RelativeLayout.TRUE);
textview=new TextView(this);
textview.setId(16);
textview.setText("Help");
layout.addView(textview, params);
setContentView(layout);
}

最佳答案

你的代码应该是这样的,因为你已经有了xml布局,你应该首先将Content设置为xml布局,然后将新 View 添加到Relativelayout。

public class MyActivity extends Activity{

TextView textview;
RelativeLayout layout;


@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.file_name);
    layout=(RelativeLayout)findViewById(R.id.mylayout); 
    RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParam(RelativeLayout.LayoutParams.WRAP_CONTENT, RelativeLayout.LayoutParams.WRAP_CONTENT);
    params.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM, RelativeLayout.TRUE);
    textview=new TextView(this);
    textview.setId(16);
    textview.setText("Help");
    layout.addView(textview, params);
}

关于android - 在 Java 中将 View 添加到 XML 布局,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12574990/

相关文章:

android - 如何在android上以编程方式将音量调到最大?

android,无法在 ListView 的行中右侧对齐图标

java - Android库模块中的依赖

android - Android 内存指南中的 "Avoid dependency injection frameworks"是否也适用于 Dagger?

android - 无法使用 GCM 发送推送消息

javascript - Android JQuery focus() 解决方法

Android Studio 无法识别我的设备 - 一加一

android - Android应用程序中的标题栏仍然出现

android - 使 Android 源代码中的应用程序编译为系统/应用程序而不是数据/应用程序?

android - DrawerLayout的监听器和配置