java - 如何在不使用外部类名称的情况下从内部类获取对外部类的引用?

标签 java android

示例代码如下:

Class SomeClass extends Activity {
    public void someMethod() {
        Runnable r = new Runnable() {
            public void run() {
                Intent service = new Intent(SomeClass.this, SomeOtherClass.class);
                // ...
            }
        }
    }
}

如何更改代码以不使用 SomeClass(在 new Intent(SomeClass.this, ...) 中)? 我想将这个示例放在多个类中,我不想每次都使用不同的类名。

最佳答案

较短的方法(建议):

将 Intent 中的 SomeClass.this 替换为 getApplicationContext() 应该可以解决问题。

我使用的方法(有点冗长,可能不是两者中最好的):

在每个类中,创建一个private Context mContext;
然后,在每个类的onCreate()中,使mContext = this;
最后,将 Intent 中的 SomeClass.this 替换为 mContext

关于java - 如何在不使用外部类名称的情况下从内部类获取对外部类的引用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11545088/

相关文章:

java - 执行 new Mat() 时出现 UnsatisfiedLinkError

java - iText - com.itextpdf.tool.xml.exceptions.NotImplementedException

java - 有没有比较STIG版本的方法或工具?

Android:如何使用 GSON 库解析 JSON 文件?

使用 WebView 容器时出现 Android BadTokenException

android - 如何对 Google map 菜单使用 actionbarsherlock?

java - Android 端口无法工作

java - java 计算排序算法的比较次数并将其添加到数组列表中

java - 为什么我无法使用父类型访问子对象方法

Android:支持同一屏幕尺寸类型内的多种屏幕尺寸