【问题标题】:java app developement error is not enclosing class [duplicate]java应用程序开发错误未包含类[重复]
【发布时间】:2014-10-06 03:39:25
【问题描述】:

嘿,这是我第一次使用堆栈溢出,我试图在不同的文件中调用一个类(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' 不是封闭类

编辑:

我试图在不同的文件中调用一个类来获取天气数据

【问题讨论】:

  • 您只包含了部分课程,因此很难确定,但在您发布的代码中,您缺少一个结束 }
  • 哪一行给出了错误?

标签: java android


【解决方案1】:
ForecastFragment.FetchWeatherTask weatherTask = new ForecastFragment.FetchWeatherTask();

这行代码告诉 Java 编译器在 ForecastFragment 类中查找 FetchWeatherTask 类。由于编译器在那里找不到FetchWeatherTask,它会抱怨。我怀疑您已将 FetchWeatherTask 声明为顶级类,因此您可以简单地删除两个 ForecastFragment 前缀(以及点)。

【讨论】:

  • 谢谢,我在读完这篇文章后意识到我在另一个类中有 FetchWeatherTask,我把它移到了自己的文件中,一切正常
【解决方案2】:

您可以使用处理程序来执行在后台运行的任务。还可以尝试通过扩展 AsyncTask 或手动启动新线程来运行 Async 任务。

【讨论】:

  • 在这个我试图运行一个从打开的天气地图中获取天气数据的类,它扩展了 asynctask 我对此仍然相当新
猜你喜欢
  • 2014-01-19
  • 2017-06-30
  • 1970-01-01
  • 1970-01-01
  • 2016-03-03
  • 1970-01-01
  • 1970-01-01
  • 2011-01-13
  • 1970-01-01
相关资源
最近更新 更多