如何知道 activity CustomAdapter 正在处理哪个?

How to know which activity CustomAdapter is working on?

我看过许多关于不同 CustomAdapter 的演示,但没有一个演示显示我们如何在适配器内部实际获得我们正在使用适配器的 activity。现在我正在为适配器使用这种方法

private Activity activity;

public CustomAdapter(Activity a, ArrayList d, Resources resLocal) {
    activity = a;
    ....
}

Activity a 我实际上可以获取上下文,但未能获取 activity 我可以使用其功能的上下文。虽然 activity 仍处于打开状态,因此必须有一些东西可以与其功能进行通信。反正我用下面的技术是完全鲁莽的

try {
    ((HomeActivity) activity).onItemClick(mPosition); // function in other activity
} 
catch (Exception e) {
    ((PlayActivity) activity).onItemClick(mPosition); // function in other activity
}

对多个activity使用相同的CustomAdapterclass所以使用try-catch自动查找哪个方法不会引发异常,因为我仍然不知道父 activity。

如果无论如何我们都能了解它,那就太好了!

感谢阅读,干杯!

使用instanceof

更多信息来自 docs