Тип new AdapterView.OnItemClickListener () {} должен реализовывать унаследованный абстрактный метод AdapterView.OnItemClickListener) - PullRequest
3 голосов
/ 30 июня 2010

Тип new AdapterView.OnItemClickListener () {} должен реализовывать унаследованный абстрактный метод AdapterView.OnItemClickListener.onItemClick (AdapterView, View, int, long)

Почему я получаю это сообщение, когда пытаюсь построитьучебник

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();
         }
        }
        );
    } 
}

Ответы [ 2 ]

6 голосов
/ 30 июня 2010

Изменить это:

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

к этому:

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

При переопределении супер-метода вы должны убедиться, что все типы данных соответствуют исходным типам.

3 голосов
/ 30 июня 2010

Измените Long на long в onItemClick() и посмотрите, поможет ли это.

...