与View leader
,我不知道是什么,第二个参数应该是的Android tablelayout麻烦,加上我有麻烦意见
TableLayout leaderTable = (TableLayout)findViewById(R.id.leaderTable);
TableRow tr = new TableRow(this);
tr.setId(i);
tr.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT,LayoutParams.WRAP_CONTENT));
View leader = new View(UserView.this, null, R.id.leaderLayout);
TextView number = (TextView)leader.findViewById(R.id.numberView);
number.setText(String.valueOf(i+1));
tr.addView(leader);
leaderTable.addView(tr);
的问题是,我TextView
为空,尽管是一个子视图leader.
很困惑这个问题,这是我的XML
<TableLayout
android:id="@+id/leaderTable"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center">
</TableLayout>
我需要用XML做多?我不需要在其中包含表格吗?
R.id.leaderLayout
是自己的XML文件,与该ID
我有一个新的错误,现在,这里是我真的triyng做http://codepad.org/3c4NNFlY,在addView失败'05-16 13 for循环的第二次:34:05.143:E/AndroidRuntime(855):java.lang.IllegalStateException:指定的子项已经有父项。您必须先调用子对象的父对象的removeView()。 '我想这绝不会是一个问题,因为所有视图都是唯一的,并且在for循环的每一遍都创建。 – CQM
“膨胀”方法的第二个参数是膨胀视图的父级。由于视图不能是多个父项的子项,因此您在“addView”上发生错误,因为父项已被设置。如果您将tr作为参数传递,则应该自动添加而不需要addView。或者,您可以只用第一个参数调用充气,布局文件,然后按照原样调用addView。 – MattDavis