gpt4 book ai didi

java - 如何传递对当前 Activity 的引用

转载 作者:行者123 更新时间:2023-11-29 06:24:20 25 4
gpt4 key购买 nike

我试图将当前 Activity 的引用传递给一个对象,但似乎找不到可以轻松完成此操作的方法。以前我能够使用当前上下文的“this”引用来完成这个简单的传递。然后,我将我的 Activity 从实现 OnClickListener 更改为创建 OnClickListener 对象,以便我可以将其作为参数传递。这是我在单击按钮后尝试创建对象时遇到的麻烦,这意味着我不能再通过“this”传递 Activity ,因为“this”现在是 OnClickListener 的引用。

public class MyActivity extends Activity {
private Object mObject;

private OnClickListener mListener = new OnClickListener() {
public void onClick(View v) {
Object mObject = new Object(this);
}
}
}

public class Object {
private Activity mActivity;
public Object(Activity a) {
mActivity = a;
mActivity.setContentView(R.layout.layout);
}
}

看起来很容易修复,但我找不到答案...

非常感谢任何帮助。

最佳答案

你是对的,this 现在引用了 OnClickListener,因为它引用了当前类,而你正在一个匿名类中工作。您可以通过传递 mActivity.this 来引用外部 Activity:

Object mObject = new Object(mActivity.this);

顺便说一句:我想我应该重命名 mActivity 类,因为正常的类命名约定是以大写字母开头。

关于java - 如何传递对当前 Activity 的引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5336972/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com