java - 无法正确使用 .setLayoutParams(...) - Android

标签 java android layout android-linearlayout

我想尝试在 Android 上使用数据库,所以我制作了一个小应用程序,允许您将联系人添加到数据库然后显示它们。

如果我在 XML 中创建布局然后在代码中编辑文本字段,我就能够显示联系人(来自数据库)。但我想用代码构建布局,这样我就可以添加任意数量的联系人。

以下代码是我用来创建布局的方法,每当我运行此代码时,应用程序就会崩溃。我的猜测是参数有问题。如果只键入 LayoutParams.MatchContent,它会要求我导入并提供许多选项,这就是它显示 LinearLayout.LayoutParams... 的原因;

我将生成的布局添加到 LinearLayout。

private LinearLayout createContactView (Contact contact) {
    LinearLayout contactInfoWrapper = new LinearLayout(this);
    contactInfoWrapper.setLayoutParams(new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT));
    contactInfoWrapper.setOrientation(LinearLayout.VERTICAL);

    TextView nameView = new TextView(this);
    nameView.setLayoutParams(new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT));
    nameView.setText(contact.getName());
    contactInfoWrapper.addView(nameView);

    TextView numberView = new TextView(this);
    numberView.setLayoutParams(new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT));
    numberView.setText(contact.getPhoneNumber());
    contactInfoWrapper.addView(numberView);

    return contactInfoWrapper;
}

最佳答案

不使用 setLayoutParams,而是在 LinearLayout< 的 addView(View v, LayoutParams params) 方法中使用 LayoutParams/:

TextView nameView = new TextView(this);
nameView.setText(contact.getName());
contactInfoWrapper.addView(nameView, new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT));

关于java - 无法正确使用 .setLayoutParams(...) - Android,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36009731/

相关文章:

java - 使用 Spring Data REST 实现更新深度嵌套 JSON 结构的最佳方法是什么?

java - 从 Spring MVC 调用远程地址

java - 当我们要使用 Spring @ModelAttribute 时,我们是否需要为 http get 和 post 提供类似的 @RequestMapping 值

android - 在 Android 中显示撰写短信 View

java - Android主模板布局文件?

java - 为什么这段代码会抛出 IOException?

java - 如何检测JPEG图像上的基本2D几何形状(例如正方形,三角形,圆形)?

android - phonegap 基础知识

html - 如何在屏幕上水平和垂直居中大小未知的 DIV

我的网站出现 CSS 问题,有人可以帮忙吗?