开发者

ListView in a HorizontalScrollView in Android

开发者 https://www.devze.com 2022-12-13 13:04 出处:网络
I have an ListView inside a HorizontalScrollView and it works perfectly fine, except for the initial load.I\'m loading the data for the list view from a web service so I created a thread to do that.On

I have an ListView inside a HorizontalScrollView and it works perfectly fine, except for the initial load. I'm loading the data for the list view from a web service so I created a thread to do that. Once I have the data, I simply call _myListAdapter.notifyDataSetChanged(); and the data becomes visible in the ListView. But if the ListView is far off the screen, the containing HorizontalScrollView will automatically scroll to make this ListView visible. How can I call notifyDataSetChanged without making the ListView scroll into the current view?

Here's an idea of how I have my layout XML file:

<HorizontalScrollView 
    android:id="@+id/my_scrollview"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" 
    android:scrollbars="none">

        <LinearLayout android:id="@开发者_如何学Go+id/my_layout"
            android:layout_width="wrap_content"
            android:layout_height="fill_parent"
            android:orientation="horizontal">

                <ListView android:id="@+id/my_list"
                    android:layout_width="fill_parent"
                    android:layout_height="fill_parent"
                    android:layout_weight="1" />

        </LinearLayout>

</HorizontalScrollView>


I would try making your ListView invisible until after you've called notifyDataSetChanged().

<ListView android:id="@+id/my_list"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:layout_weight="1"
    android:visibility="gone"/>

Then in the code:

_myListAdapter.notifyDataSetChanged();
ListView listView = (ListView) findViewById(R.id.my_list);
listView.setVisibility(View.VISIBLE);

Not sure if this will work... worth a shot, though.

0

精彩评论

暂无评论...
验证码 换一张
取 消