Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/218.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 我需要在代码中以不同的方法访问库命令_Java_Android - Fatal编程技术网

Java 我需要在代码中以不同的方法访问库命令

Java 我需要在代码中以不同的方法访问库命令,java,android,Java,Android,好吧,我会尽量把这件事简单化,因为我一直在想这件事。所以我使用的是一个叫做AchievementTunlock的库,你可以在这里找到 因此,是的,我将在下面发布代码,但基本上我需要从我活动中的另一个方法访问下面的方法 我需要访问的方法: public void notification() { int seconds = Integer.parseInt(duration); notificationstatus = "ACTIVE"; final Achieveme

好吧,我会尽量把这件事简单化,因为我一直在想这件事。所以我使用的是一个叫做AchievementTunlock的库,你可以在这里找到

因此,是的,我将在下面发布代码,但基本上我需要从我活动中的另一个方法访问下面的方法

我需要访问的方法:

public void notification() {
    int seconds = Integer.parseInt(duration);
    notificationstatus = "ACTIVE";


    final AchievementUnlocked achievementUnlocked = new AchievementUnlocked(MainActivity.this).setTitle(title).
            setSubtitleColor(Color.parseColor(colortxt)).
            setSubTitle(text).
            setDuration(Settings.Time).
            setBackgroundColor(Color.parseColor(colorbg)).
            setTitleColor(Color.parseColor(colortxt)).
            setIcon(getDrawableFromRes(image1)).
            isLarge(Settings.largepref).build();

    View iconIV = achievementUnlocked.getIconView();
    ObjectAnimator outX = ObjectAnimator.ofFloat(iconIV, "scaleX", 0.9f, 0.7f);
    ObjectAnimator outY = ObjectAnimator.ofFloat(iconIV, "scaleY", 0.9f, 0.7f);
    ObjectAnimator inX = ObjectAnimator.ofFloat(iconIV, "scaleX", 0.7f, 0.9f);
    ObjectAnimator inY = ObjectAnimator.ofFloat(iconIV, "scaleY", 0.7f, 0.9f);
    final AnimatorSet Outset = new AnimatorSet();
    final AnimatorSet Ani = new AnimatorSet();
    final AnimatorSet Inset = new AnimatorSet();
    outX.setDuration(1000);
    outY.setDuration(1000);
    inX.setDuration(1000);
    inY.setDuration(1000);
    Ani.addListener(new AnimatorListenerAdapter() {
        @Override
        public void onAnimationEnd(Animator animation) {
            super.onAnimationEnd(animation);
            Ani.start();
        }
    });
    Outset.playTogether(outX, outY);
    Inset.playTogether(inX, inY);
    (achievementUnlocked.getAchievementView()).setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            achievementUnlocked.dismiss();
            NotificationService.run();
        }
    });
    achievementUnlocked.getAchievementView().setOnTouchListener(gestureListener);


    Ani.play(Outset).before(Inset);
    achievementUnlocked.setAchievementListener(new AchievementUnlocked.achievementListener() {
        @Override
        public void onAchievementBeingCreated(AchievementUnlocked achievement, boolean created) {

        }

        @Override
        public void onAchievementExpanding(AchievementUnlocked achievement, boolean expanded) {
            if (expanded) Ani.start();

        }

        @Override
        public void onAchievementShrinking(AchievementUnlocked achievement, boolean shrunken) {
            if (!shrunken) {
                if (Ani.isRunning())
                    Ani.cancel();
                notificationstatus = "UNACTIVE";
                Log.i("Status Set UNACTIVE", notificationstatus);
            }


        }

        @Override
        public void onAchievementBeingDestroyed(AchievementUnlocked achievement, boolean destroyed) {

        }
    });

    achievementUnlocked.show();

}
我需要从以下代码部分访问该方法:

class MyGestureDetector extends GestureDetector.SimpleOnGestureListener    {

    @Override
    public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) {
        try {
            if (Math.abs(e1.getY() - e2.getY()) > SWIPE_MAX_OFF_PATH)
                return false;
            // left to right swipe
            if(e2.getX() - e1.getX() > SWIPE_MIN_DISTANCE && Math.abs(velocityX) > SWIPE_THRESHOLD_VELOCITY) {
                **Rightswipe();**
            }
            // right to left swipe
            else if (e1.getX() - e2.getX() > SWIPE_MIN_DISTANCE && Math.abs(velocityX) > SWIPE_THRESHOLD_VELOCITY) {
                **Leftswipe();**
            }
        } catch (Exception e) {
            // nothing
        }
        return false;
    }



}

所以我的主要问题是,由于函数
achievementUnlocked.Disclease(),我如何表现得像在第二个方法的原始方法中一样在您首先看到的主方法之外不可访问。我真的很感激任何帮助

MyGestureDetector
添加一个setter,该setter将
AchievementUnlocked
作为参数。将
AchievementUnlocked
存储在
MyGestureDetector
的字段中。从
notification()
调用该setter。然后,
MyGestureDetector
可以访问
AchievementUnlocked
实例,并可以在其上调用
Disclease()

因此,您是否可以发布此示例代码,因为这一切听起来都非常陌生?感谢StackOverflow!我对Android编码和学习日复一日的新事物非常陌生,这些东西非常有用@斯凯勒·马丁:嗯,字段、setter等都是非常基本的Java。有关字段、getter和setter的讨论,请参阅。在那里的
Bicycle
示例类中,
cadence
是字段的示例,
getCadence()
是getter方法的示例,
setCadence()
是setter方法的一个示例。我理解这是一个超基本的概念,但我的意思是,如果您知道自己在做什么,并且可以将其应用到我的代码中,我很乐意为您付费!