我应该使用"_activity = this;"吗?

Ano*_*age 6 java android android-activity

我应该用" _activity = this;"吗?

我在示例代码中看到了多次引用_activity.所以,我随意决定它看起来是一个很好的做法,并且已经在我的所有代码中使用了一段时间(超过一年).但是,在我开始传播这个词之前,我想找到一些适当的文档,使用全局(活动本地)上下文变量是好的做法.

有人有想法/想法/链接吗?知道任何利弊吗?

我发现一个资源到目前为止似乎是说有好有坏的时候使用这个

我知道我可以使用thisMainActivity.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();
            }
        });
    }
}
Run Code Online (Sandbox Code Playgroud)

编辑:评论的另一个问题:通过举手,谁实际使用_activity

Mor*_*gan 11

这不是好习惯.this在大多数情况下,以及MainActivity.this创建匿名子类时,只需使用等.

我认为问自己的正确问题是,"添加这个成员变量是否为我做了什么",或者"我能做些什么我不能做的_activity事情this.我可以告诉你答案是"不",但你应该自己决定是否属实.