Custom ListAdapter with ViewHolder Pattern
Here is a complex example for your case:


  List Adapter with ViewHolder Pattern


Note:


Never use a parameter as a variable (parameters shouldn't be modified!) 
I like to use an underscore at the beginning of global fields (variables, objects) names to better show their scope.
You should make a class name without any special characters and beginning with an uppercase letter.
Try to get context from the closest possible parameter (as in my example from the parent of the getView() method).
The class constructor is defined without a return type (with the same name as the class name and any parameter if you desire)!
For later data changes in the adapter, you can define a method to add items to the list (as an example).