Albert Albert - 2 years ago 88
Java Question

How to Implement onItemClickListerner for ListView?

I'm trying to implement

(see code below);
When running it, i get this error:

Error:(32, 37) error: incompatible types: List cannot be converted to OnItemClickListener

import android.content.Context;
import android.os.Bundle;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.view.ViewGroup;
import java.util.ArrayList;

public class List extends Fragment {
ListView list;
String[] Winners = {
OnSiteSelectedListener SiteListener;

public void onCreate(Bundle savedInstanceState) {
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View v = inflater.inflate(R.layout.fragment_list, container, false);
list = (ListView) v.findViewById(;
list.setAdapter(new ArrayAdapter < String > (getActivity().getApplicationContext(), android.R.layout.simple_list_item_1, Winners));
return v;

public void onItemClick(AdapterView adapterView, View view, int position, long l) {
public interface OnSiteSelectedListener {
public void onSiteSelected(int i);

public void setRefrence(OnSiteSelectedListener siteListener) {
this.SiteListener = siteListener;

Answer Source

The List class needs to implement OnItemClickListener. You've already implemented the onItemClick() method, so you just need to add the interface to the class declaration:

public class List extends Fragment implements AdapterView.OnItemClickListener {
Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download