在 Activity 中,可以直接使用 this 关键字获取当前 Activity 的 Context。请 举例说明
时间: 2024-05-11 19:18:25 浏览: 84
当我们需要在 Activity 中创建一个新的 Toast 时,可以直接使用 this 关键字获取当前 Activity 的 Context,如下所示:
```java
Toast.makeText(this, "Hello World", Toast.LENGTH_SHORT).show();
```
同样地,在创建一个 Intent 时,也可以使用 this 关键字获取当前 Activity 的 Context,如下所示:
```java
Intent intent = new Intent(this, NextActivity.class);
startActivity(intent);
```
相关问题
Activity 获取 context
在 Android 中,可以通过以下方式获取 Context 对象:
1. 在 Activity 中,可以通过 this 关键字获取 Context 对象。
2. 在 Fragment 中,可以通过 getActivity() 方法获取所依附的 Activity 的 Context 对象。
3. 在 Service 中,可以通过 getApplicationContext() 或 this 关键字获取 Context 对象。
4. 在 BroadcastReceiver 中,可以通过 onReceive() 方法的参数 Context 获取 Context 对象。
需要注意的是,在使用 Context 对象时,需要注意避免内存泄漏问题。一般来说,应该尽量使用 Application Context,而不是 Activity Context,以避免因为 Activity 被销毁而导致的内存泄漏问题。
Context 对象如何在activity中实例化
在Activity中实例化Context对象非常简单,由于Activity本身就是一个Context对象,因此可以直接使用this关键字引用当前Activity的Context对象。例如:
```
public class MainActivity extends Activity {
private Context mContext;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mContext = this;
// ...
}
}
```
在上述示例中,我们在onCreate()方法中通过this关键字获取当前Activity的Context对象,并将其赋值给成员变量mContext。这样我们就可以在Activity中使用mContext来获取系统资源、启动服务等操作。
阅读全文