java – 我应该使用“_activity = this;”吗?

前端之家收集整理的这篇文章主要介绍了java – 我应该使用“_activity = this;”吗?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我应该使用“_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做的事情我不能做到这一点.我可以告诉你答案是”否“,但你应该自己决定这是否属实.

猜你在找的Java相关文章