android - 如何从接口(interface)引用中获取android上下文?

标签 android android-fragments android-activity android-context

我有一个 Activity ,它用一个接口(interface)实例化一个类。如何仅通过对接口(interface)的引用来获取 MyClass 中的 android 上下文?

public class TestActivity extends Activity implements MyInterface {

    @Override
    public void onCreate(final Bundle savedInstanceState) {
        final MyClass myClass = new MyClass(this);

    }

    @Override
    public void onChange() {

    }
}


public interface MyInterface {
    void onChange();
}

public class MyClass {
    public MyClass(MyInterface myInterface) {
       // how to get context from myInterface ???
    }
}

最佳答案

public class MyClass {
    public MyClass(MyInterface myInterface) {
    // Get Context
    Context context = null;
    if (myInterface instanceOf Context)
        context = (Context)myInterface;
    }
}

如果您的 Activity(extends Context)正在实现 MyInterface 并且您将其传递给 MyClass,您只需要将其转换为适当的类型即可。

关于android - 如何从接口(interface)引用中获取android上下文?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43237322/

相关文章:

android - onCreate() 和 onStart() 的区别?

android - Android:使用Gradle进行单元测试

android - 可以在按钮 xml 中添加参数吗?

java - 使用按钮在 fragment 之间切换

android - 如何从 fragment 验证 recyclerview 适配器 TextInputEditText?

android - 多个 Activity 上的 AsyncTask?

android - 开发控制台与 fire base 崩溃报告有什么区别

java - 提高性能

android - 嵌套的 Viewpager fragment 未初始化

android - 帮助处理第一个 Android Activity