2013-02-14 96 views
-2

我在Android Developers网页上测试了一个GridView的例子,但是我遇到了一些错误,尽管我已经复制并粘贴了代码!链接下面的例子。我可以做错什么?请提供一些帮助!谢谢!在GridView中找不到错误原因

enter image description here

该错误消息:在该行的多个标记 - OnItemClickListener不能解析为一个类型 - 在型适配器视图的方法setOnItemClickListener(AdapterView.OnItemClickListener)不是自变量适用 (新OnItemClickListener(){})

GridView example

编辑:所有的代码

MainActivity.java

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

public class MainActivity extends Activity { 

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 

    GridView gridview = (GridView) findViewById(R.id.gridview); 
    gridview.setAdapter(new ImageAdapter(this)); 

    gridview.setOnItemClickSelectedListener(new OnItemClickListener() { 
     public void onItemClick(AdapterView<?> parent, View v, int position, long id) { 
      Toast.makeText(MainActivity.this, "" + position, Toast.LENGTH_SHORT).show(); 
     } 
    }); 

} 
} 

ImageAdapter.java

import android.content.Context; 
import android.view.View; 
import android.view.ViewGroup; 
import android.widget.BaseAdapter; 
import android.widget.GridView; 
import android.widget.ImageView; 

public class ImageAdapter extends BaseAdapter { 
private Context mContext; 

public ImageAdapter(Context c) { 
    mContext = c; 
} 

public int getCount() { 
    return mThumbIds.length; 
} 

public Object getItem(int position) { 
    return null; 
} 

public long getItemId(int position) { 
    return 0; 
} 

// create a new ImageView for each item referenced by the Adapter 
public View getView(int position, View convertView, ViewGroup parent) { 
    ImageView imageView; 
    if (convertView == null) { // if it's not recycled, initialize some attributes 
     imageView = new ImageView(mContext); 
     imageView.setLayoutParams(new GridView.LayoutParams(85, 85)); 
     imageView.setScaleType(ImageView.ScaleType.CENTER_CROP); 
     imageView.setPadding(8, 8, 8, 8); 
    } else { 
     imageView = (ImageView) convertView; 
    } 

    imageView.setImageResource(mThumbIds[position]); 
    return imageView; 
} 

// references to our images 
private Integer[] mThumbIds = { 
     R.drawable.sample_0, R.drawable.sample_1, 
     R.drawable.sample_2, R.drawable.sample_3, 
     R.drawable.sample_4, R.drawable.sample_5, 
}; 
} 
+0

你与(新View.OnItemClickListener)尝试{ – Sree 2013-02-14 10:44:57

+0

按下Ctrl + Shift + o – 2013-02-14 10:53:53

+0

这有一点帮助,但仍然红线下面setOn ... – 2013-02-14 10:55:33

回答

0

你可以试试这个gridView.setOnItemSelectedListener

这工作正常,我

+0

不,我仍然有一条红线下线!我摆脱了View下面的红线,因为我错过了导入的东西。 – 2013-02-14 10:54:06

-1

你能导入下列类?

import android.widget.GridView; 
import android.widget.AdapterView; 
import android.widget.AdapterView.OnItemClickListener; 
import android.view.View; 

然后保存该文件。一个。相当于在日食会CTRL转变Ò,然后按ctrl小号

+0

他们是进口的,但仍然红线下面setOn .....? – 2013-02-14 10:56:35

+0

您是否导入了正确的OnItemClickListener? – lokoko 2013-02-14 11:00:31

+0

是的! import android.widget.AdapterView.OnItemClickListener; – 2013-02-14 11:08:49

3

你需要导入这个

import android.widget.GridView; 
import android.widget.AdapterView; 
import android.widget.AdapterView.OnItemClickListener; 
import android.view.View; 

     or 

使用BaseAdapter

相关问题