我的代碼編譯細,並且當我開始活動,則顯示其相關聯的佈局,但 窗口小部件我動態在OnCreate此後創建()不顯示。我的動態創建的窗口小部件不顯示
他們爲什麼不呢?
Eclipse不落入調試角度來看,他們根本就不會出現。
下面是相關代碼:
public class Authorize_Activity_DynamicControls extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.ondemandandautomatic_dynamicauthorize);
LinearLayout llay = new LinearLayout(this);
llay.setOrientation(LinearLayout.HORIZONTAL);
LinearLayout.LayoutParams llp = new LayoutParams(LayoutParams.WRAP_CONTENT,
LayoutParams.WRAP_CONTENT);
llp.weight = 1.0f;
CheckBox cb = new CheckBox(getApplicationContext());
cb.setText("1");
cb.setLayoutParams(llp);
llay.addView(cb);
ScrollView svh = (ScrollView) findViewById(R.id.scrollViewHost);
svh.addView(llay);
}
...這是佈局的xml:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal" >
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="2dip"
android:text="@string/demand"
android:textAppearance="?android:attr/textAppearanceSmall" />
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="2dip"
android:text="@string/time"
android:textAppearance="?android:attr/textAppearanceSmall" />
<TextView
android:id="@+id/textView3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="2dip"
android:text="@string/space"
android:textAppearance="?android:attr/textAppearanceSmall" />
<TextView
android:id="@+id/textView4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="2dip"
android:text="@string/contact"
android:textAppearance="?android:attr/textAppearanceMedium" />
<ScrollView
android:id="@+id/scrollViewHost"
android:fillViewport="true"
android:layout_width="wrap_content"
android:layout_height="match_parent" >
</ScrollView>
</LinearLayout>
添加invalidate()沒有幫助,但我認爲它也不會損害任何東西,所以現在它就在那裏。 – 2012-03-04 00:09:32
你可以嘗試一下嗎?你能否移除xml文件中的子LinearLayout部分(以便ScrollView是基本LinearLayout的唯一子部分),並檢查是否可以看到ScrollView以及動態添加到其中的LinearLayout? – Soham 2012-03-04 14:12:17
好的,謝謝Soham,這有幫助 - 現在顯示動態添加的小部件。但是動態添加的小部件與xml中聲明的小部件顯示在相同的「行」中,我需要它們在它們自己的「行」上,在xml中聲明的小部件下面。我如何強制這種情況發生? – 2012-03-10 05:12:49