我试图将当前活动的引用传递给对象,但似乎无法找到一个可以轻松完成此操作的方法.以前我能够通过当前上下文的"this"引用来做这个简单的传递.然后我将我的活动从实现OnClickListener改为创建OnClickListener对象,以便我可以将其作为参数传递.这是当我在单击按钮后尝试创建对象时遇到麻烦,这意味着我不能再使用"this"传递活动,因为"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);
}
}
Run Code Online (Sandbox Code Playgroud)
看起来像一个简单的修复,但我找不到答案......
任何帮助是极大的赞赏.
你是对的,this现在引用了OnClickListener它,因为它引用了当前的类,你正在一个匿名类中工作.您可以通过传递引用外部活动mActivity.this:
Object mObject = new Object(mActivity.this);
Run Code Online (Sandbox Code Playgroud)
顺便说一句:我想我会重命名mActivity该类,因为正常的类命名约定是以大写字母开头.
| 归档时间: |
|
| 查看次数: |
4110 次 |
| 最近记录: |