我应该使用“_activity = this;”吗?
我在示例代码中看到了多次引用_activity.所以,我随意决定它看起来是一个很好的做法,并且已经在我的所有代码中使用了一段时间(超过一年).但是,在我开始传播这个词之前,我想找到一些适当的文档,使用全局(活动本地)上下文变量是好的做法.
有人有想法/想法/链接吗?知道任何利弊吗?
到目前为止,我发现的一种资源似乎表明使用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(); } }); } }
编辑:评论的另一个问题:通过举手,谁实际使用_activity?
解决方法
这不是好习惯.在大多数情况下,只需使用它,在创建匿名子类时使用MainActivity.this等.
我认为问自己的正确问题是,“添加此成员变量是否为我做了任何事情”,或者“我有什么可以用_activity做的事情我不能做到这一点.我可以告诉你答案是”否“,但你应该自己决定这是否属实.