无法从另一个类更改 Imageview 的图像

sb-编码器

我有一个 MainActivity,我的大部分代码都在其中编写。我的activity_main.xml 中有一个图像视图,我将其设置为Mainactivity 中的默认图像。

我的另一个文件“OnSwipeTouchListener”正在监听滑动和双击事件,我编写了代码来在用户双击时更改图像视图的图像,但我的代码不起作用,也没有给出任何错误。(我使用 Layoutinflater 来膨胀 activity_main 文件)。

这是 OnSwipeTouchListener

package com.backspace.memebook;

import android.content.Context;
import android.view.GestureDetector;
import android.view.GestureDetector.SimpleOnGestureListener;
import android.view.LayoutInflater;
import android.view.MotionEvent;
import android.view.View;
import android.view.View.OnTouchListener;
import android.widget.ImageView;

public class OnSwipeTouchListener extends MainActivity implements OnTouchListener {

    private final GestureDetector gestureDetector;
    public Context ctx;

    public OnSwipeTouchListener (Context ctx){
        gestureDetector = new GestureDetector(ctx, new GestureListener());
        this.ctx = ctx;
    }

    @Override
    public boolean onTouch(View v, MotionEvent event) {
        return gestureDetector.onTouchEvent(event);
    }

    private final class GestureListener extends SimpleOnGestureListener {

        private static final int SWIPE_THRESHOLD = 100;
        private static final int SWIPE_VELOCITY_THRESHOLD = 100;

        @Override
        public boolean onDown(MotionEvent e) {
            return true;
        }

        @Override
        public boolean onDoubleTap(MotionEvent e) {
            System.out.println("double tap");
            LayoutInflater mInflater = (LayoutInflater) ctx.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
            View view = mInflater.inflate(R.layout.activity_main, null);
            ImageView isFunny = (ImageView) view.findViewById(R.id.isFunny);
            isFunny.setImageResource(R.drawable.funny);
            return super.onDoubleTap(e);
        }
    }

}

Mainactivity 没有太多代码,它只是设置图像视图的默认图像,该图像显示正常,但是当我尝试使用另一个类更改它时,它不会更改。

有人有任何线索吗?

伊曼纽尔

正如评论中所写,您需要在您的活动中扩充视图。这样的东西应该可以工作(未经测试)

public class MainActivity extends Activity { 
public ImageView iv = null;
public void onCreate(....) {
    setContentView( ... ); 
    iv = findViewById(....);
}

public class OnSwipeTouchListener extends MainActivity implements OnTouchListener {
    //public ImageView iv from MainActivity
    public OnSwipeTouchListener (Context ctx){
        gestureDetector = new GestureDetector(ctx, new GestureListener());
    }

    private final class GestureListener extends SimpleOnGestureListener {

        private static final int SWIPE_THRESHOLD = 100;
        private static final int SWIPE_VELOCITY_THRESHOLD = 100;

        @Override
        public boolean onDoubleTap(MotionEvent e) {
            iv.setImageResource(R.drawable.funny); //iv is accessable, you may also use a constructor to pass the reference.
            return super.onDoubleTap(e);
        }
    }
}

您可能希望在 GestureListener 的构造函数中传递对 ImageView 的引用,而不是从 OnSwipeTouchListener 访问数据

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

ImageView缩放并设置另一个图像问题

来自分类Dev

在imageview上拖动图像或在android中的另一个imageview上设置

来自分类Dev

保存一个带有另一个蒙版 ImageView 的图像视图?

来自分类Dev

ImageView,如何设置图像似乎出现在另一个图像的前面?

来自分类Dev

将ImageView中的图库图像传递给另一个活动

来自分类Dev

如何将图像从一个 ImageView 拍摄并放置到另一个

来自分类Dev

JavaFX更改imageView中的图像

来自分类Dev

在imageview中更改图像

来自分类Dev

更改imageview onClick中的图像

来自分类Dev

ImageView无法正确拉伸图像

来自分类Dev

ImageView无法一一显示图像

来自分类Dev

无法在 ImageView 中居中图像

来自分类Dev

目标C-如何从另一个类(另一个UIViewController)更改图像

来自分类Dev

如何获取图像视图的clickevent,但是imageview在另一个布局中作为当前布局的标题

来自分类Dev

无法在onClick()事件android上将图像从一个图像更改为另一个图像

来自分类Dev

从图库中选取图像,然后将其加载到特定活动的imageview中,并加载到另一个活动的导航抽屉imageview中

来自分类Dev

更改ImageView源不会正确更改ImageView的图像

来自分类Dev

如何将图像从一个活动动态传递到另一个活动,并通过JSON在imageview中显示

来自分类Dev

在Android中更改ListView的Imageview onItemClickListener的图像

来自分类Dev

ImageView:在新闻发布时更改图像

来自分类Dev

在imageview中自动更改图像

来自分类Dev

使用FragmentStatePagerAdapter在Fragment中更改ImageView的图像

来自分类Dev

单击图像时更改ImageView的大小

来自分类Dev

单击时如何更改ImageView的图像?

来自分类Dev

在imageview中自动更改图像

来自分类Dev

更改方向时ImageView裁剪图像消失

来自分类Dev

在javaFX中更改ImageView中的图像

来自分类Dev

通过单击 btnChange 更改 ImageView 图像

来自分类Dev

单击ImageView时,图像无法全屏显示

Related 相关文章

  1. 1

    ImageView缩放并设置另一个图像问题

  2. 2

    在imageview上拖动图像或在android中的另一个imageview上设置

  3. 3

    保存一个带有另一个蒙版 ImageView 的图像视图?

  4. 4

    ImageView,如何设置图像似乎出现在另一个图像的前面?

  5. 5

    将ImageView中的图库图像传递给另一个活动

  6. 6

    如何将图像从一个 ImageView 拍摄并放置到另一个

  7. 7

    JavaFX更改imageView中的图像

  8. 8

    在imageview中更改图像

  9. 9

    更改imageview onClick中的图像

  10. 10

    ImageView无法正确拉伸图像

  11. 11

    ImageView无法一一显示图像

  12. 12

    无法在 ImageView 中居中图像

  13. 13

    目标C-如何从另一个类(另一个UIViewController)更改图像

  14. 14

    如何获取图像视图的clickevent,但是imageview在另一个布局中作为当前布局的标题

  15. 15

    无法在onClick()事件android上将图像从一个图像更改为另一个图像

  16. 16

    从图库中选取图像,然后将其加载到特定活动的imageview中,并加载到另一个活动的导航抽屉imageview中

  17. 17

    更改ImageView源不会正确更改ImageView的图像

  18. 18

    如何将图像从一个活动动态传递到另一个活动,并通过JSON在imageview中显示

  19. 19

    在Android中更改ListView的Imageview onItemClickListener的图像

  20. 20

    ImageView:在新闻发布时更改图像

  21. 21

    在imageview中自动更改图像

  22. 22

    使用FragmentStatePagerAdapter在Fragment中更改ImageView的图像

  23. 23

    单击图像时更改ImageView的大小

  24. 24

    单击时如何更改ImageView的图像?

  25. 25

    在imageview中自动更改图像

  26. 26

    更改方向时ImageView裁剪图像消失

  27. 27

    在javaFX中更改ImageView中的图像

  28. 28

    通过单击 btnChange 更改 ImageView 图像

  29. 29

    单击ImageView时,图像无法全屏显示

热门标签

归档