在ImageView of Gallery上的setOnClickListener停止了Gallery的滚动

时间:2012-08-28 14:09:16

标签: android android-imageview android-gallery

我有一个包含一个textview和imageview的图库。如果我在Imageview上设置OnClickListener,则Gallery会停止滚动。我需要一个可点击和滚动条画廊,用户可以在imageview或textview上单击,以显示下一个应用程序活动。

在onClick事件中,我想通过bundle将一些数据传递给下一个活动。如果我在ImageAdapter类之外调用onClick,则无法将数据传递给下一个活动。

如果我把holder.image或gallery而不是holder.text。画廊停止滚动。

请建议我一些解决方案,以便我可以点击图片和文字,同时我可以滚动图库。

1 个答案:

答案 0 :(得分:1)

不,不,不......你不应该将onClickListener放在getView()中。 你应该做的是:

gallery.setOnClickListener();

并在此onClickListener()内,检索点击项目的index。在代码中,您向您展示了触摸区域的过度充电,因此它会破坏所有内容。

- 编辑

以下是您可以做的事情:

Gallery gallery = (Gallery) findViewById(R.id.top_gallery);
    gallery.setAdapter(new ImageAdapter(this));
    gallery.setOnItemClickListener(new OnItemClickListener()
    {
        public void onItemClick(AdapterView parent, 
                View v, int position, long id) 
                {
                    TextView tView = (TextView) findViewById(R.id.cat_desc);
                    switch(gallery.getSelectedItemPosition())
                    {   
                    //do your stuff here...
                    }
    }