Java 我需要在代码中以不同的方法访问库命令
好吧,我会尽量把这件事简单化,因为我一直在想这件事。所以我使用的是一个叫做AchievementTunlock的库,你可以在这里找到 因此,是的,我将在下面发布代码,但基本上我需要从我活动中的另一个方法访问下面的方法 我需要访问的方法:Java 我需要在代码中以不同的方法访问库命令,java,android,Java,Android,好吧,我会尽量把这件事简单化,因为我一直在想这件事。所以我使用的是一个叫做AchievementTunlock的库,你可以在这里找到 因此,是的,我将在下面发布代码,但基本上我需要从我活动中的另一个方法访问下面的方法 我需要访问的方法: public void notification() { int seconds = Integer.parseInt(duration); notificationstatus = "ACTIVE"; final Achieveme
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方法的一个示例。我理解这是一个超基本的概念,但我的意思是,如果您知道自己在做什么,并且可以将其应用到我的代码中,我很乐意为您付费!