我正在通过一些Android开发人员教程,特别是位于here的Gallery View Widget,我已经完成了第1阶段和第2阶段,但我似乎得到了3个错误,我无法理解它是什么我做错了,因为我直接从教程中复制并粘贴了代码并对代码进行了一处更改,即R.layout.events而不是R.layout.main
这是代码
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.Gallery;
import android.widget.Toast;
public class Events extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.events);
Gallery gallery = (Gallery) findViewById(R.id.gallery1);
gallery.setAdapter(new ImageAdapter (this));
gallery.setOnClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView parent, View v, int position, long id) {
Toast.makeText(Events.this, "" + position, Toast.LENGTH_LONG).show();
}
});
}}
我得到的错误如下:
ImageAdapter无法解析为类型行18 Java问题 OnItemClickListener无法解析为类型行20 Java问题
AdapterView类型中的方法setOnClickListener(View.OnClickListener)不适用于参数(new OnItemClickListener(){})第20行Java问题
任何建议或指示都将不胜感激。提前致谢。
答案 0 :(得分:6)
ImageAdapter是一个自定义的BaseAdapter,在帖子的第6点进一步定义。
实例化名为ImageAdapter的自定义BaseAdapter(...)
在第6点:
public class ImageAdapter extends BaseAdapter { //(...)
答案 1 :(得分:3)
错误的侦听器类型。它应该是View.OnClickListener。
gallery.setOnClickListener(new View.OnClickListener() { ....
或使用setOnItemClickListener ...
gallery.setOnItemClickListener(new AdapterView.OnItemClickListener() { ...