Methods 从侦听器类调用MyActivity中的方法

Methods 从侦听器类调用MyActivity中的方法,methods,ontouchlistener,Methods,Ontouchlistener,我无法将layoutswipe侦听器与更新视图上bakground图像的方法绑定 这两个独立的部件是独立工作的,即: 1) 我在“LayoutSwipeListener”类中有一个监听器,可以在布局上拾取手势。这个监听器工作正常。 2) 我在MainActivity中有一个名为“updateWallpaperForward”的方法,用于更新layoutview上的背景图像 但是,我要做的是从我的LayoutSwipeListener类中调用“updateWallpaperForward”方法。我

我无法将layoutswipe侦听器与更新视图上bakground图像的方法绑定

这两个独立的部件是独立工作的,即: 1) 我在“LayoutSwipeListener”类中有一个监听器,可以在布局上拾取手势。这个监听器工作正常。 2) 我在MainActivity中有一个名为“updateWallpaperForward”的方法,用于更新layoutview上的背景图像

但是,我要做的是从我的LayoutSwipeListener类中调用“updateWallpaperForward”方法。我不能这样做。它目前正在编译,但当我刷卡时应用程序崩溃

在此方面的任何帮助都将不胜感激

相关代码如下:

类:MyActivity.java

//Layout for wallpaper change
LinearLayout WallpaperLayout;
....
protected void onCreate(Bundle savedInstanceState) {
...
//Wallpaper layout
WallpaperLayout = (LinearLayout) findViewById(R.id.wallpaperLayout);
WallpaperLayout.setOnTouchListener(new LayoutSwipeListener(this));
...
public void updateWallpaperForward(View view) {
    switch(wallpaperID) {
        case 1:
            WallpaperLayout.setBackgroundResource(R.drawable.wallpapertwo);
            wallpaperID=2;
            break;
  ...
类:LayoutSwipeListener.java

  public class LayoutSwipeListener implements View.OnTouchListener {

            private Activity activity;
    static final int MIN_DISTANCE = 100;
    private float downX, downY, upX, upY;
    public int wallpaperID = 1;

     //Layout for wallpaper change
    LinearLayout WallpaperLayout;

    // private MainActivity mMainActivity;

    public LayoutSwipeListener (Activity mainActivity) {
        activity = mainActivity;
    }
......

    public void onLeftToRightSwipe() {
        activity.updateWallpaperForward();  
         //// THIS IS WHERE IM STUCK - IT DOESNT PICK Up THIS METHOD IN THE EDITOR OR COMPILE
我想出来了

    public LayoutSwipeListener (Activity mainActivity) {
        activity = mainActivity;
        WallpaperLayout = (LinearLayout) activity.findViewById(R.id.wallpaperLayout); // THIS IS THE LINE I NEEDED
    }

谢谢,

我只是想补充一下-我已经尝试过将该方法设置为静态,但这不起作用,因为如果它是静态的,那么它的字段将无法被引用。