我正在构建一个Android应用程序(但这对帖子来说并不重要)我正在编写一个名为 scrollUntilSelectedAvatar()的方法,其中包含一个类:
public class AvatarManager {
private HorizontalScrollView avatarPageHorizontalScrollView;
//mehod that contains the inner class
public void scrollUntilSelectedAvatar(HorizontalScrollView avatarPageHorizontalScrollView){
this.avatarPageHorizontalScrollView = avatarPageHorizontalScrollView;
avatarPageHorizontalScrollView.post(new Runnable() {
@Override
public void run() {
AvatarManager.this.avatarPageHorizontalScrollView.scrollTo(100, 0);
}
});
}
}
我的问题是:在内部类new Runnable()
中访问 avatarPageHorizontalScrollView (我将其作为参数传递给方法)的正确方法是什么。
我找到的方式(AvatarManager.this.avatarPageHorizontalScrollView
)似乎不是最好的方法。
感谢大家的帮助:)
答案 0 :(得分:2)
你这样做的方式 - 是唯一正确的。关于内部类的一些事情的语法可能看起来很奇怪。但就像它一样。
public class A {
private int a;
private abstract class B {
public abstract void printA();
}
public B makeB() {
return new B() {
@Override
public void printA() {
System.out.println(A.this.a);
}
};
}
}