Android Gallery和Onclicklistener构造函数未编译

时间:2014-07-08 23:03:35

标签: android android-gallery

这是我的主要活动。我从画廊教程中了解到这一点。它说主要是,View v,& OnItemClickListener无法解析为类型。我一直在玩这个,并且教程并没有给予太多帮助。

公共类MainActivity扩展了Activity {

 ImageView selectedImage;  
 private Integer[] mImageIds = {
            R.drawable.image1,
            R.drawable.image2,
            R.drawable.image3,
            R.drawable.image4,
            R.drawable.image5,
            R.drawable.image6,
            R.drawable.image7,
            R.drawable.image8
    };
@Override
public void onCreate(Bundle savedInstanceState) 
{
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

         Gallery gallery = (Gallery) findViewById(R.id.gallery1);
    selectedImage=(ImageView)findViewById(R.id.imageView1);
    gallery.setSpacing(1);
    gallery.setAdapter(new GalleryImageAdapter(this));

     // clicklistener for Gallery
    gallery.setOnClickListener(new OnItemClickListener() {
        public void onItemClick(AdapterView<?> parent, View v, int position, long id) {
            Toast.makeText(MainActivity.this, "Your selected position = " + position, Toast.LENGTH_SHORT).show();
            // show the selected Image
            selectedImage.setImageResource(mImageIds[position]);
        }
    });
}

}

1 个答案:

答案 0 :(得分:1)

您正在混合听众。

void setOnClickListener(View.OnClickListener l)
// Register a callback to be invoked when this view is clicked.

void setOnItemClickListener(AdapterView.OnItemClickListener listener)
// Register a callback to be invoked when an item in this AdapterView has been clicked.

使用:

gallery.setOnItemClickListener(new OnItemClickListener() {
    public void onItemClick(AdapterView<?> parent, View v, int position, long id) {
        Toast.makeText(MainActivity.this, "Your selected position = " + position, Toast.LENGTH_SHORT).show();
        // show the selected Image
        selectedImage.setImageResource(mImageIds[position]);
    }
});
相关问题