ListView listView = activity.getListView();
获取的仅仅是当前屏幕显示的list,但是具有下拉信息,不在当前屏幕,但是下拉显示的数据无法或得到。谁知道如何获得当前包括下拉的所有数据?
就是说一屏幕显示7条信息吧,本来是有10条,所以就会有下拉。但是这样获得的仅仅是当前屏幕的7条,而不是10条。如何10条都获得?
我用:activity.getListAdapter(),虽然可以获取10条数据,但是获取的数据是之前设定的,并不是用户点击更改后的数据,activity.getListAdapter()是不是还需要设置什么东西,才能获取当前数据?

解决方案 »

  1.   

     
            ListView listView = (ListView)findViewById(R.id.listview);
            int count = listView.getCount();
            for(int i = 0; i < count; i++){
                listView.getItemAtPosition(i);
            }
      

  2.   

    很抱歉,你这样获得的个数和ListView listView = activity.getListView();
    是一样的,也是当前屏幕个数
      

  3.   


    额  我试了一下int count1 = listView.getChildCount();
    int count2 = listView.getCount();
    int count3 = listView.getAdapter.getCount();listView里面数据一共16条,显示数据为9条,结果:
    count1=9
    count2=16
    count3=16
      

  4.   

    谢谢你,找到解决方式了
    我自己总结一下吧:
    方法一:直接给activity要adapter
    ListAdapter listAdapter = activity.getListAdapter();
    获得的数据不是用户从界面更改后的,而是你最开始设置的初始数据
    方法二:获取ListView listView = activity.getListView();
    然后
    for(int i=0;i<listView.getChildCount();i++){
    View view = listView.getChildAt(i);

    获取的数据仅仅是当前界面上的,不是全部
    方法三:先获取ListView listView = activity.getListView();
    然后获取:
    ListAdapter listAdapter = listView.getAdapter();
    for(int l=0;l<listAdapter.getCount();l++){
        View view = listAdapter.getView(l, null, null);

    这样就可以获取全部数据,并且是最新数据
      

  5.   

    发表于:2010-04-19 16:52:54一年多的帖子了,到现在还有人在回,呵呵。都不搞android一年多了,当时搞的真是痛苦啊