java - 通过其连接的适配器调用 Activity 的方法对应用程序的面向对象设计有何影响?

标签 java android

从与关联 Activity 的 ListView 连接的适配器调用 Activity 中可用的方法(此 Activity 有 ListView 或回收器 View )的正确方法或最佳实践是什么。我已经多次看到并使用过这种编码方式来从适配器调用 Activity 方法

((MyActivity) context).abcMethod();

1)这是正确的方法吗? 2)这不是违反了失去耦合吗? 3)我应该为这个小工作提供一个回调接口(interface)吗?

我读到的内容类应该是松耦合的,接口(interface)是完成这项任务的关键。请为我提供这方面更好的知识。

最佳答案

在Adapter的构造函数中获取MyActivity的实例,并用于调用方法

//在 Activity 中

MyAdapter my=new MyAdapter(MyActivity.this);

//在适配器中

    public MyAdapter extends BaseAdapter{
    MyActivity myActivity;
    public MyAdapter(MyActivity myActivity){
    this.myActivity=myActivity;
    }

//do your stuffs and call method by myActivity;
}

谢谢

关于java - 通过其连接的适配器调用 Activity 的方法对应用程序的面向对象设计有何影响?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34553746/

相关文章:

java - Android:清理 AsyncTask

javascript - V8 可以执行 JS 代码的构建时预编译吗?

android - 如何从手机调用我在 Google DRAFT 上的操作?

android - 在 flutter 中向图像添加自定义框架

Android启动intent查看apk

java - 为什么通配符类路径对我不起作用?

java - 如何在 Android 中发现我的应用程序的内存使用情况?

java - 从文本文件中删除包含特定元素的行

java - 我怎样才能使这个 java 泛型转换?

java - JSF 2.x + Spring 3.2 集成?