【发布时间】:2012-12-30 03:14:56
【问题描述】:
我应该使用“_activity = this;”吗?
我在示例代码中多次看到 _activity 被引用。所以,我武断地认为这看起来是一种很好的做法,并且已经在我的所有代码中使用了一段时间(一年多)。但是,在我开始更多地传播这个词之前,我想找到一些适当的文档,说明使用全局(活动局部)上下文变量是否是好的做法。
有人有想法/想法/链接吗?知道利弊吗?
到目前为止我发现的一个资源似乎说使用this有好时坏时@
我知道我可以使用this 或MainActivity.this,但这不是问题。
..如果你不知道我在说什么,这里是一个现场制作的简单例子:
public class MainActivity extends Activity {
MainActivity _activity;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
_activity = this; // TODO: Find out if this is good practice?
setContentView(R.layout.activity_main);
}
public void onClickButton(View v) {
Toast.makeText(_activity, "Five boxing wizards", Toast.LENGTH_LONG).show();
button2.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
Toast.makeText(_activity, "asdf", Toast.LENGTH_LONG).show();
}
});
}
}
编辑:cmets 的另一个附带问题:通过举手,谁实际使用_activity?
【问题讨论】:
-
为什么需要在对象本身中引用对象?您是否正在考虑使用
static引用它? -
也许我不应该让这个案例变得微不足道。我将对其进行编辑,使按钮位于其自己的对象中。我会在整个大文件中使用引用,可能还有子类。
-
在这些情况下,只需使用
MainActivity.this。如果您有一个同样易于访问的参考,则无需保留额外的参考。
标签: java android android-activity