以前にこの問題があったとは言えません。たぶん、新しい目が必要なだけです。ルート ScrollView 内の LinearLayout にプログラムでビューを追加した後、ScrollView は認識していないようで、スクロールしません。
以下のgroup
は LinearLayout の拡張でありroot
、XML レイアウト内の LinearLayout です。
私の主な XML レイアウト:
<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/scroll_root"
style="@style/Standard.Fill" <!-- match_parent in both _width and _height -->
android:fillViewport="true">
<LinearLayout
android:id="@+id/base_group"
style="@style/BaseGroup" <!-- derived style from Standard.Fill -->
android:orientation="vertical" />
</ScrollView>
ビューを追加します。例:
for(int i = 0; i < 95; i++){
TextView kv = new TextView(this);
kv.setText("asdas as adsa");
// kvp is LayoutParams with match_parent and wrap_content
group.addView(kv, kvp);
}
root.addView(group, new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT));
ScrollView の親は、 LinearLayout の子が境界を超えて拡大し、スクロールしないことを認識していないようです。、、、、、などのバリエーションfillViewport
を試してみましたが、役に立ちませんでした。 layout_width
layout_height
requestLayout()
invalidate()
おそらくアダプターのワークフローに切り替えるつもりですListView
が、これはまだ私にとって非常に奇妙です。
ScrollView の親を目覚めさせるにはどうすればよいですか?