嘿,这是我第一次使用堆栈溢出,我试图在另一个文件中调用一个类(MainActivity调用FetchWeatherTask)我得到的错误不是封闭类,这是代码抛出错误
@Override
public boolean onOptionsItemSelected (MenuItem item){
int id = item.getItemId();
if (id == R.id.action_refresh) {
ForecastFragment.FetchWeatherTask weatherTask = new ForecastFragment.FetchWeatherTask();
weatherTask.execute();
return true;
}
我要尝试一些事情,但我遇到了完整的错误
' com.alpha(APPNAME).ForecastFragment'不是封闭的类
编辑:
我试图在另一个文件中调用一个类来获取天气数据
答案 0 :(得分:1)
ForecastFragment.FetchWeatherTask weatherTask = new ForecastFragment.FetchWeatherTask();
这行代码告诉Java编译器在FetchWeatherTask
类中查找ForecastFragment
类。由于编译器在那里找不到FetchWeatherTask
,它会抱怨。我怀疑您已将FetchWeatherTask
声明为顶级类,因此您只需删除ForecastFragment
前缀(以及点)。
答案 1 :(得分:0)
您可以使用处理程序执行在后台运行的任务。还尝试通过扩展AsyncTask或手动启动新线程来运行Async任务。