OK the specific value that is inside of this specific position.
OK.
So the next method is get an ID ID.
So as you can see here are the return type of this method is long and the name of this method is gets
either an ID and if it actually accepts an argument of type position as you can see here.
So the item id of our objects would be that the position of our values inside of our arms for example
this animal images array for example at the position of this value as you can see here is zero.
OK.
So this would be the item ID.
OK.
So I can just return this position here.
OK and as you can see here we have good view of it.
So this effort is going to be called up on every iteration of our values inside of the literalist view
OK.
Whenever we actually scroll down or up or dismiss this if it is going to be called in order to actually
put our objects and values to the list the list view.
OK.
So this is very important.
And as you can see it isn't if it actually returns a value of type view and the name of this and if
it is good view.
OK.
And as you can see this in fact accepts the arguments the first argument is in position the position
of objects inside of the list view.
OK.
And this of you as you can see here this is another argument kind of interview.
So just change the name of this argument to view.
OK so this argument is the view of objects in the list view.
OK.
And we have a view Group parent OK.
And this would be for example the list itself.
OK.
Now let's actually delete this line of quote here and then we're going to actually put in our own implementations
inside of the Smurfette here.
So now I'm going to actually paste in some lines of code here inside of this method and then I'm going
to explain to you what's going on here.
So as you can see here these are the lines of code that you actually paste that here inside of this
view Smurfette.
OK.
First of all in line 57 as you can see here I actually try to assign a value to this view object that
we actually receive as an argument from the same if it gets V.
OK.
So I just referred to the name of this argument view assignment operator.
And then I actually have referred to this layout inflator object that I actually declared in line 17
in in our customized view class.
And as you can see here inside of this constructor of this customized this view class I actually instantiated
this object.
OK.
So as you can see here I referred to the name of that object out inflator dot.
And here I am actually calling this inflates Mefford on this object.
OK.
And this MF it actually exits to arguments.
The first argument is actually the customize the list view.
OK we need to put our own customized list view that we actually created in our project.
OK so this is our customized this view that XML file.
So for the first argument I needed to assign that value here or that layout that customized this view
OK.
And it's like such an argument is of for The Root.
So we don't need that value here.
So I just nod here and here as you can see in line 59.
I actually created an object of type image view.
So the name of this image is our empty animal.
OK.
As you can see here in our customized underline list underlined view that image here as you can see
this is our image view and the idea of this image is I m g.
OK.
And here I assigned the value I am the animal for the name of my image view assignment operator and
as you can see here I am actually casting this object to art to an image view object.
And here as you can see I referred to the name of this view here.
OK.
So this view actually has this customized underline list underline view inside it.
OK.
So I needed to actually first to this view here in order to access these components inside of these
customized to this view here.
OK.
And here I refer to this view here Dot find the view by ID or that ID that I enjoy.
And I do the same here.
I actually declared this takes view as final.
OK.
And as you know final means that this object is actually constant.
OK.
And as you can see type of My object is a text view the name of my object is the animal name assignment
operator and then here I actually cast this object to our text view object view that find view by ID
or thought Id taught the animal name.
And I did the same job here takes few takes the animal power and then I actually cast the object to
a text view object view that find view by ID or the idea that the animal power as you can see here.
So if we have to use the animal name and we have to use the animal power here and here as you can see
we have the animal speed view find view by id our ID that the animal speed and here I actually created
to String objects OK.
Stream all the animal power.
OK.
As you can see here the unempowered that gettext that Stream.
And I actually created another string object that old RTX the animal speed the animal speed that get
text that was strange.
OK so now I want to actually output some images to the image views on the screen.
OK so as you can see here these are the addresses of our images.
OK.
So here are.
I just need to refer to the name of these are UMG animals that set image resource.
OK.
And here as you can see this if it actually accepts as you can see at say enjoyable resource this refers
to the triable folder ain't there ID as you can see here.
OK.
So here I need to actually refer to the rest ID resources ID of my images inside the tribal folder.
OK.
So these are the addresses that are inside of this animal images.
So I can't just refer to the name of that every animal images Suppe position.
So as you can see here we have this position as an argument to disprove it and we can use this position
here in RMF.
So as you can see here I just referred to this opposition here that we see as an argument.
So this position knows of the specific value that is inside of that specific position of this tree.
So if we could just refer to that position and here we can actually access this specific image that
is inside of this specific position of these Adli.
OK so now let's actually go back and say this main activity double file here.
Now let's actually create an object from these customized list view class here.
So I just need to refer to the name of this class customize the list view.
And I would prefer to name this object adapter.
OK.
Because as you can see this customized to this view extends base adapter class.
OK so there is and is our relationship between these two classes.
OK.
So I can call the object that I actually create from this customize this view as adapter.
OK.
Assignment operator and then I just put in the new convert.
And here again I referred to the name of this customized and this view class.
So as you can see here are the constructor of this class actually accepts a value of type context as
you can see here.
And we created the constructor of this class.
You specify that this class actually sets an argument of that context.
And here we initialized this context of valuable instance value but that we created inside of this class
and then we initialized this layout inflator object that we created inside of this class.
OK.
So here I just need to put in a context so the context would be this class.
Ok main activity class.
So I can just type in main activity that this and then I need to put in the semicolon at the end of
my statement.
So as you can see if you have an adapter here and we have also a list view.
OK that is inside of this content underline mean that example.
So now I want to actually inflate these or customize the list view here that we created on these content
underline mean that segment on this list view here.
OK.
So in order to do that I can just type in LSD list and it's the view that set adapter.
OK.
And here we need to putting the adapter inside of this Apprentice's so I can just refer to the name
of this adapter object as you can see here and it's done both but you have an arrow inside of this customized
at view that job offer it here.
As you can see here inside of these gates view it as you can see of you needed to actually return an
object of type view.
As you can see here it is.
And if it actually returns a value of view so I can just return to that view here.
OK.
The view that we receive as an argument and as you can see in line 57 I assigned this value to that
of you object.
OK.
Lay out inflators that inflate.
These are customized to this view.
OK.
And as you can see the second argument is not OK.
And then we assign that value to this object.
And here I can just pretend that value return view semi-colon.