sve*_*ija 1 android android-context
这是一个坏习惯,为什么会这样?因此,在onCreate之后添加此权限的每个活动 ......
mContext = this;
Run Code Online (Sandbox Code Playgroud)
然后用它在所有其他情况下的上下文是必需的?例如
Toast.makeText(mContext, mContext.getString(R.string.someString), Toast.LENGTH_LONG);
Run Code Online (Sandbox Code Playgroud)
编辑:如果我有这样的事情......如何传递上下文怎么办?因为这不能应用(因为View.OnClickListener()).
someButton = (Button) findViewById(R.id.someButton);
someButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(mContext, mContext.getString(R.string.warning), Toast.LENGTH_LONG).show();
}
});
Run Code Online (Sandbox Code Playgroud)
这是一个坏习惯,为什么会这样?
是的,这是一个坏习惯.这是浪费代码.this比mContext你更短,你有一个额外的代码行来设置数据成员.
我不同意Damiean先生总是使用的建议getApplication().使用getApplication()时,特别需要的Application对象.你既不需要也不想Application创建一个对象Toast- 你Activity完全适合Context在那里使用.该Application对象无法在许多地方工作,特别是在处理涉及UI的事物时.
| 归档时间: |
|
| 查看次数: |
9413 次 |
| 最近记录: |