UIに垂直に積み重ねられたパネルがいくつかあります。各パネルにはListViewが含まれています。ユーザーの操作に基づいて、ListViewのアイテム数が更新されます。
私の問題は、ListViewに表示されるアイテムの数を増やすと、含まれているパネルが展開されてそれらが表示されないことです。代わりに、私のListViewは黒にフェードして途切れます。私はこれらの積み重ねられたパネルのそれぞれをプログラムで作成しています-これは作成機能の本体です:
LinearLayout containingPanel = new LinearLayout(TestActivity.this);
containingPanel.setOrientation(LinearLayout.VERTICAL);
// create title
TextView titleText = new TextView(TestActivity.this);
titleText.setText("a title");
titleText.setGravity(Gravity.CENTER);
titleText.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT));
// create dynamic list view of costs
ListView dynamicContentListView = new ListView(TestActivity.this);
dynamicContentListView.setAdapter(new MyDynamicAdapter());
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT);
params.weight = 1;
dynamicContentListView.setLayoutParams(params);
// build up GUI
containingPanel.addView(titleText);
containingPanel.addView(dynamicContentListView);
return containingPanel;
ListViewに重みを設定するだけで十分だと思いましたが、そうではありません。すべてのGUI更新は正常に機能しています。新しいアイテムはアダプタをサポートするデータに自動的に追加され、ListViewはそれ自体を適切に更新します。しかし、3つまたは4つの新しいアイテムを追加した後、containingPanelはそれ自体の更新を拒否し、新しいアイテムがブレンドされます。