无法解析 class 中的方法 'getBaseContext()' extends BaseAdapter
Cannot resolve method 'getBaseContext()' in class extends BaseAdapter
我正在尝试在我的应用程序中使用 firebase 远程配置功能。但我收到错误
"Cannot resolve method 'getBaseContext()'"。我的 class 扩展了如下所示的 BaseAdapter。我仅限于使用方法,请帮助。
public class CustomAdapter_new extends BaseAdapter {
.....
......
........
private void initRemoteConfig() {
mRemoteConfig = FirebaseRemoteConfig.getInstance();
Resources res = context.getResources();
HashMap<String, Object> defaults = new HashMap<>();
defaults.put("claimStatusEnquiry", context.getResources().getString(R.string.claimStatusEnquiry)); defaults.put("locateYourPfOffice", context.getResources().getString(R.string.locateYourOffice));
defaults.put("faq", context.getResources().getString(R.string.faq));
mRemoteConfig.setDefaults(defaults);
FirebaseRemoteConfigSettings remoteConfigSettings = new FirebaseRemoteConfigSettings.Builder()
.setDeveloperModeEnabled(true)
.build();
mRemoteConfig.setConfigSettings(remoteConfigSettings);
fetchRemoteConfigValues();
}
private void fetchRemoteConfigValues() {
long cacheExpiration = 600;
//expire the cache immediately for development mode.
if (mRemoteConfig.getInfo().getConfigSettings().isDeveloperModeEnabled()) {
cacheExpiration = 0;
}
mRemoteConfig.fetch(cacheExpiration)
.addOnCompleteListener(this, new OnCompleteListener<Void>() {
@Override
public void onComplete(Task<Void> task) {
if (task.isSuccessful()) {
// task successful. Activate the fetched data
mRemoteConfig.activateFetched();
} else {
//task failed
Toast.makeText(getBaseContext(), "Please Connect To Internet!!", Toast.LENGTH_SHORT).show();
}
}
});
}
}
编译器不会说谎。您的 class 没有名为 getBaseContext()
的方法。 BaseAdapter
没有为您提供此方法。但是,您需要 Context
对象才能创建 Toast
。有很多方法可以访问 Context
。看来您已经有一个可用的,因为您在
行中使用了它
Resources res = context.getResources();
很可能,您应该将 getBaseContext()
替换为 context
:
Toast.makeText(context, ...).show();
我强烈建议您了解有关变量范围、class 字段和方法参数的更多信息。这些都是 Java 中的基本概念。如果你明白这些是如何工作的,你会更容易写 Android app.s
我正在尝试在我的应用程序中使用 firebase 远程配置功能。但我收到错误 "Cannot resolve method 'getBaseContext()'"。我的 class 扩展了如下所示的 BaseAdapter。我仅限于使用方法,请帮助。
public class CustomAdapter_new extends BaseAdapter {
.....
......
........
private void initRemoteConfig() {
mRemoteConfig = FirebaseRemoteConfig.getInstance();
Resources res = context.getResources();
HashMap<String, Object> defaults = new HashMap<>();
defaults.put("claimStatusEnquiry", context.getResources().getString(R.string.claimStatusEnquiry)); defaults.put("locateYourPfOffice", context.getResources().getString(R.string.locateYourOffice));
defaults.put("faq", context.getResources().getString(R.string.faq));
mRemoteConfig.setDefaults(defaults);
FirebaseRemoteConfigSettings remoteConfigSettings = new FirebaseRemoteConfigSettings.Builder()
.setDeveloperModeEnabled(true)
.build();
mRemoteConfig.setConfigSettings(remoteConfigSettings);
fetchRemoteConfigValues();
}
private void fetchRemoteConfigValues() {
long cacheExpiration = 600;
//expire the cache immediately for development mode.
if (mRemoteConfig.getInfo().getConfigSettings().isDeveloperModeEnabled()) {
cacheExpiration = 0;
}
mRemoteConfig.fetch(cacheExpiration)
.addOnCompleteListener(this, new OnCompleteListener<Void>() {
@Override
public void onComplete(Task<Void> task) {
if (task.isSuccessful()) {
// task successful. Activate the fetched data
mRemoteConfig.activateFetched();
} else {
//task failed
Toast.makeText(getBaseContext(), "Please Connect To Internet!!", Toast.LENGTH_SHORT).show();
}
}
});
}
}
编译器不会说谎。您的 class 没有名为 getBaseContext()
的方法。 BaseAdapter
没有为您提供此方法。但是,您需要 Context
对象才能创建 Toast
。有很多方法可以访问 Context
。看来您已经有一个可用的,因为您在
Resources res = context.getResources();
很可能,您应该将 getBaseContext()
替换为 context
:
Toast.makeText(context, ...).show();
我强烈建议您了解有关变量范围、class 字段和方法参数的更多信息。这些都是 Java 中的基本概念。如果你明白这些是如何工作的,你会更容易写 Android app.s