How to make the header or footer of a ListView not clickable

前端 未结 1 482
温柔的废话
温柔的废话 2020-12-17 08:08

I\'m adding a footer and header view to a ListView by using the methods setHeaderView() and setFooterView() and a ViewInflater

相关标签:
1条回答
  • 2020-12-17 08:34

    Simply use the ListView#addHeaderView(View v, Object data, boolean isSelectable); and matching addFooter() method.


    The purpose of Object data parameter.

    The ListView source code describes the data parameter as:

    The data backing the view. This is returned from ListAdapter#getItem(int).

    Which means if I use listView.getAdapter().getItem(0); it will return the data Object from our header.


    I'll elaborate this with an example:

    listView = (ListView) findViewById(R.id.list);
    String[] array = new String[] {"one", "two", "three"};
    adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, array);
    

    Next let's add a header and set the adapter:

    listView.addHeaderView(view, "Potato", false);
    listView.setAdapter(adapter);
    

    Later if we ask:

    Log.v("ListAdapter", listView.getAdapter().getItem(0));  // output: "Potato" 
    Log.v("ArrayAdapter", adapter.getItem(0));               // output: "one"
    
    0 讨论(0)
提交回复
热议问题