GridView单击侦听器类型问题

时间:2011-12-15 15:24:26

标签: android eclipse sample

我正在尝试使用ECLIPSE开发适用于Android的应用,但我有太多错误。 我的意思是,在尝试在 GOOGLE的开发网站上编写的代码时 - For Example 我收到很多错误。

例如:

  

方法setOnItemClickListener(AdapterView.OnItemClickListener)中   AdapterView类型不适用于参数   (new OnItemClickListener(){})

这是我收到的代码错误:

gridview.setOnItemClickListener(new OnItemClickListener() {
}

请帮我解决这个问题。 \:

非常感谢!!!

解决了第一个问题

现在我有另一个问题:

是的,谢谢!

现在它向我显示了另一个错误:

  

Toast类型中的方法makeText(Context,CharSequence,int)是   不适用于参数(RelativeLayout,String,int)

我的活动代码是:

package grid.View;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.GridView;
import android.widget.RelativeLayout;
import android.widget.Toast;

public class GridViewActivity extends Activity {
    /** Called when the activity is first created. */
    @Override
    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(RelativeLayout.this, "" + position, Toast.LENGTH_SHORT).show();
            }
        });
    }
}

2 个答案:

答案 0 :(得分:5)

缺少方法实现。如刚刚发布的链接所示,您应该这样做:

gridview.setOnItemClickListener(new OnItemClickListener() {
    public void onItemClick(AdapterView<?> parent, View v, int position, long id) {
        // Your "onclick" handling here
    }
});

另外,您是否导入了所需的一切?在Eclipse中尝试Ctrl + Shift + o,这样它就会为您进行必要的导入。

答案 1 :(得分:1)

用getApplicationContext()

替换RelativeLayout.this