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

标签 java android android-activity

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

我在示例代码中多次看到 _activity 被引用。因此,我武断地认为它看起来是一种很好的做法,并且已经在我的所有代码中使用了一段时间(一年多)。但是,在我开始传播更多信息之前,我想找到一些适当的文档,说明使用全局( Activity 本地)上下文变量是否是好的做法。

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

到目前为止,我发现的一个资源似乎表明使用时有好有坏 this

我知道我可以使用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();
            }
        });
    }
}

编辑:评论的另一个附带问题:通过举 watch 决,谁实际使用了 _activity

最佳答案

这不是好的做法。在大多数情况下只需使用 this,在创建匿名子类时使用 MainActivity.this 等。

我认为问自己的正确问题是,“添加这个成员变量对我有什么用吗”,或者“有什么我可以用 _activity 做而我不能用 this。我可以告诉你答案是否定的,但你应该自己判断它是否正确。

关于java - 我应该使用 "_activity = this;"吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14088007/

相关文章:

java - Print Writer 和继承

机器人 : Relative layout width wrap_content

java - Android 中辅助方法的最佳实践

java - 返回 Activity 时检索对象

android - Xamarin - AppCompat 不支持当前主题功能

java - 代码块在单线程程序中执行两次

java - 测试私有(private)静态方法

java - 组装分散数据的设计模式?

android - 是否可以在 firestore 数据库中将时间戳添加为文档字段?

android - 从其 Activity 启动的服务是否在新线程中运行?