开发者

How does ArrayAdapter getView() method works?

I w开发者_JAVA百科ant to do an ArrayAdapter to display an image and text. I don't want examples if possible. I'd like someone to explain me how getView() works.

Thanks.


getView() is the main part of your adapter. It returns View that will be displayed as your list/grid/gallary/any view that use adapter item. It triggers when you scroll the view(list for example).

So the first thing you should do its to create your custom adapter. You may extend it from BaseAdapter. Then you need to create some data to display (or pass it to adapter from out side - its better solution).

After that override getView() method and make sure to return your custom View there. In your case it should be a Layout with ImageView and TextView (and dont forget to fill them).

You can learn more from :

  • http://www.youtube.com/watch?v=N6YdwzAvwOA
  • http://www.edureka.in/blog/what-are-adapters-in-android/
  • http://lucasr.org/2012/04/05/performance-tips-for-androids-listview/


in BaseAdapter you have getView function that is called by for an AdapterView i.e. ListView.

you need to override getCount method of the BaseAdapter to return total number of views to diplay.

And in getView you get following things:

public View getView(int position, View convertView, ViewGroup parent) 
  1. position:

    getView going to be called for each position every time it is displayed.

  2. convertView

    As getView is call many times inflating a new view every time is expensive so list view provides you one of the previously created view to re-use.

  3. parent

    A reference to the parent view that this view will be a child of.

ArrayAdapter is a subclass of BaseAdapter which takes ArrayList(or array) in constructor. And overrides getCount for you.

So all you need to implement is getView

0

上一篇:

下一篇:

精彩评论

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

最新问答

问答排行榜