下面的代碼如下:一個map中有Strings如:["Color: blue","Size: big"] 調用 detailsArray。
現有的ScrollView有一個 LinearLayout 和現有的 TextViews:
<ScrollView>
<LinearLayout>
<TextView
android:text="something: else"
/>
</LinearLayout>
</ScrollView>
我已經確定了普通字段如寬,高,xml模式。
現在我想以程序化的方式添加textViews:
TextView detail;
LinearLayout llay = (LinearLayout)fragmentView.findViewById(R.id.container);
for (int i = 0; i < detailsArray.length; i++) {
detail = new TextView(fragmentView.getContext());
detail.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT));
detail.setText(detailsArray[i]);
llay.addView(detail);
}
ScrollView sv = (ScrollView) fragmentView.findViewById(R.id.scroll_view);
sv.addView(llay);
出現一個異常:
08-21 12:38:09.975: E/AndroidRuntime(3361): Caused by: java.lang.IllegalStateException: ScrollView can host only one direct child
如何修改?
ScrollView can host only one direct child
提示已經很明顯了!
問題原因,首先你在xml裡面已經給包裹了 一個LinearLayout,
現在有add了一個 那麼現在就是2個了 就報錯了