與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