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

Java 无法正确使用.setLayoutParams(…)-Android,java,android,layout,android-linearlayout,Java,Android,Layout,Android Linearlayout,我想尝试在android上使用一个数据库,所以我制作了一个小应用程序,允许你将联系人添加到数据库中,然后显示出来。 如果我在xml上创建布局,然后在代码中编辑文本字段,我就能够显示联系人(来自数据库)。但我想在代码中构建布局,以便可以添加任意数量的联系人 下面的代码是我用来创建布局的方法,每当我让应用程序运行此代码时,它就会崩溃。我的猜测是params有问题。如果只输入LayoutParams.MatchContent,它会要求我导入,并提供许多选项,这就是为什么它会显示LinearLayout

我想尝试在android上使用一个数据库,所以我制作了一个小应用程序,允许你将联系人添加到数据库中,然后显示出来。 如果我在xml上创建布局,然后在代码中编辑文本字段,我就能够显示联系人(来自数据库)。但我想在代码中构建布局,以便可以添加任意数量的联系人

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

我将生成的布局添加到LinearLayout

任何帮助都是非常感谢的

private LinearLayout createContactView(联系人){
LinearLayout contactInfoWrapper=新的LinearLayout(此);
contactInfoWrapper.setLayoutParams(新的LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_父项,LinearLayout.LayoutParams.WRAP_内容));
contactInfoWrapper.setOrientation(LinearLayout.VERTICAL);
TextView nameView=新的TextView(此);
nameView.setLayoutParams(新的LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_父项,LinearLayout.LayoutParams.WRAP_内容));
nameView.setText(contact.getName());
contactInfoWrapper.addView(nameView);
TextView numberView=新的TextView(此);
numberView.setLayoutParams(新的LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_父项,LinearLayout.LayoutParams.WRAP_内容));
numberView.setText(contact.getPhoneNumber());
contactInfoWrapper.addView(numberView);
返回contactInfoWrapper;
}

不要使用
setLayoutParams
,而是使用
LinearLayout
addView(视图v,LayoutParams参数)
方法中的
LayoutParams

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

你能换电话吗

numberView.setText(contact.getPhoneNumber());
对此

numberView.setText(String.valueOf(contact.getPhoneNumber()));

你对文本视图和线性布局都这么说了,问题仍然存在。我完全误解了这个问题。你写道你的应用程序崩溃了。什么是stacktrace?(用它编辑你的问题)天哪,谢谢。我从未想过要寻找stacktrace,因为我从未使用过它(我是android新手)。我在本地初始化了LinearLayout(一个全局变量),所以当我试图在一个单独的方法上使用它时,它导致了一个NullPointerException。与参数无关。看起来您已经解决了错误。你应该把它写下来作为一个答案,并在你有能力的时候接受它。电话号码是一个Stringstack跟踪