动态填充listview android

时间:2014-07-20 07:28:59

标签: android listview

我想用List动态填充listview 这是我的代码:

ListView lis;
List<String> values=new  ArrayList<String>();
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
        Bundle savedInstanceState) {

    View rootView = inflater.inflate(R.layout.fragment_pages, container, false);
    values.add("a1");
    values.add("a2");
    values.add("a3");
    values.add("a4");
    values.add("a5");
    values.add("a6");
    values.add("a7");
    values.add("a8");
    values.add("a9");
    values.add("a10");
    values.add("a11");
   lis =(ListView)rootView.findViewById(R.id.listView1);
 final    ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(rootView.getContext(), android.R.layout.simple_list_item_1,values );
     lis.setAdapter(arrayAdapter);
     lis.setOnScrollListener(new OnScrollListener() {

        public void onScrollStateChanged(AbsListView view, int scrollState)
        {  
               int first = view.getFirstVisiblePosition();
                int count = view.getChildCount();

                if (scrollState == SCROLL_STATE_IDLE || (first + count > arrayAdapter.getCount()) ) {
                    fill_list();
                }
        }   

        public void onScroll(AbsListView view, int firstVisibleItem,int visibleItemCount, int totalItemCount)
        { 



        }
    });  
    return rootView;
}

  public void fill_list() 
  {

      for (int i = 0; i < 10; i++) 
      {
        values.add("b "+ i);
      }

但它起作用了,我的清单是填充但是Listview剂量填充。

1 个答案:

答案 0 :(得分:1)

首先,记得在想要更新listView内容时调用list.notifyDataSetChanged();

同样对于这种情况,我建议您使用自定义适配器并手动实现您的方法,以便您覆盖notifyDataSetChanged()方法,可能类似于:

public class MyAdapter entends BaseAdapter{ 
    //Stuff...
    public void notifyDataSetChanged(){
        fillList();
        super.notifyDataSetChanged();
    }
}

希望这有帮助,抱歉我的伪代码。

最好的问候。