The type new AdapterView.OnItemClickListener(){} must implement the inherited abstract method AdapterView.OnItemClickListener)

14,958

Solution 1

Change this:

public void onItemClick(AdapterView<?> parent, View v, int position, Long id)

to this:

public void onItemClick(AdapterView<?> parent, View v, int position, long id)

When overriding a super method you will have to make sure all datatypes match the original types.

Solution 2

Change your Long to long in onItemClick() and see if that helps.

Share:
14,958
Admin
Author by

Admin

Updated on June 28, 2022

Comments

  • Admin
    Admin almost 2 years

    The type new AdapterView.OnItemClickListener(){} must implement the inherited abstract method AdapterView.OnItemClickListener.onItemClick(AdapterView, View, int, long)

    Why i get this message when i tried to build the tutorial

    package Fedail.Hello.Layout;
    
    import android.app.Activity;
    import android.os.Bundle;
    import android.widget.*;
    import android.view.View;
    import android.view.ViewGroup;
    import android.widget.AdapterView.OnItemClickListener;
    
    
    public class Layout_Feras extends Activity {
        /** Called when the activity is first created. */
    
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main);
    
            GridView gridview = (GridView) findViewById(R.id.gridview);
            gridview.setAdapter(new ImageAdapter(this));
    
            gridview.setOnItemClickListener(new OnItemClickListener(){
             public void onItemClick(AdapterView<?> parent, View v, int position, Long id){
              Toast.makeText(Layout_Feras.this,"" + position, Toast.LENGTH_SHORT).show();
             }
            }
            );
        } 
    }