相关疑难解决方法(0)

在片段中使用上下文

如何在片段中获取上下文?

我需要用我的数据库其构造函数采用的背景下,但getApplicationContext()FragmentClass.this没有工作,所以我能做些什么?

数据库构造函数

public Database(Context ctx)
{
    this.context = ctx;
    DBHelper = new DatabaseHelper(context);
}
Run Code Online (Sandbox Code Playgroud)

java android android-context android-fragments

645
推荐指数
12
解决办法
46万
查看次数

我应该在长时间运行的AsyncTask中使用getApplicationContext或Activity.this

我有一个长时间运行的异步任务,它将一些数据发送到我的服务器,然后停止.整个过程可能涉及一些请求和响应.我必须从数据库中读取数据,发送它并处理响应并相应地更新我的数据库.我正在使用内容提供程序从数据库中读取和更新数据.

现在要使用Content Provider,我必须getContentResolver()在上下文中调用该方法.所以我想知道我是否必须使用getApplicationContext或只是传递Activity.this给我的方法.

我看了几个帖子是这样解释两个和大部分之间的区别,他们劝告我们不要使用getApplicationContext,如果可能的.虽然我不希望我AsyncTask失去从被破坏或方向改变Activity.this时的背景Activity.所以我想知道我是否可以使用getApplicationContext我的情况或使用Activity.this符合我的要求.

android

41
推荐指数
1
解决办法
2万
查看次数

方法getApplicationContext()未定义

public void onProviderDisabled(String provider) {
    Toast.makeText(getApplicationContext(), "Gps Disabled", Toast.LENGTH_SHORT);


}
Run Code Online (Sandbox Code Playgroud)

所以这就是我所拥有的,并且它显示了一个错误,并告诉我方法getApplicationContext()未定义类型MyLocationListener

我该怎么做才能避免这个错误

android

16
推荐指数
1
解决办法
5万
查看次数

无法在Fragment类中解析方法'getApplicationContext()'

private void showToast(String message)
{
    Toast.makeText(getApplicationContext(), message, Toast.LENGTH_SHORT).show();
}
Run Code Online (Sandbox Code Playgroud)

我应该换到getActivity()吗?

java android

5
推荐指数
1
解决办法
5832
查看次数