【问题标题】:setOnClickListener on ImageView of Gallery stops the scrolling of Gallery [closed]Gallery的ImageView上的setOnClickListener停止Gallery的滚动[关闭]
【发布时间】:2012-08-28 14:09:15
【问题描述】:

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

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

如果我放置 holder.image 或画廊而不是 holder.text。图库停止滚动。

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

【问题讨论】:

    标签: android android-imageview android-gallery


    【解决方案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...
                        }
        }  
    

    【讨论】:

    • 有什么方法可以检索点击项目的索引
    猜你喜欢
    • 2011-11-28
    • 1970-01-01
    • 1970-01-01
    • 2015-04-27
    • 1970-01-01
    • 1970-01-01
    • 2011-07-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多