无法从另一个类

时间:2016-01-19 14:24:28

标签: java android

我在名为WeatherContract.java的文件中有一个类,它有一个静态内部类,如下所示:

public class WeatherContract {
...
...
    public static final class WeatherEntry implements BaseColumns {
    ...
    ...
    }
}

现在我试图在另一个名为TestWeatherContract.java的文件中调用内部类,如下所示

...
import com.example.android.sunshine.app.data.WeatherContract;
...

public class TestWeatherContract extends AndroidTestCase {
...
    public void testBuildWeatherLocation() {
        Uri locationUri = WeatherContract.WeatherEntry.buildWeatherLocation(TEST_WEATHER_LOCATION);
...

现在在下面一行中,单词" WeatherEntry"标记为红色,当我将鼠标悬停在单词上时出现以下错误"无法解析符号' WeatherEntry'。

Uri locationUri = WeatherContract.WeatherEntry.buildWeatherLocation(TEST_WEATHER_LOCATION);

请注意我在import语句中没有收到任何错误,因此我假设在说明类的路径时没有错误。

另外,我有另一个名为FetchWeatherTask.java的文件。我在文件的开头有以下import语句:

import com.example.android.sunshine.app.data.WeatherContract.WeatherEntry;

在这种情况下,再次在import语句中输入" WeatherEntry"标记为红色,我收到错误"无法解析符号' WeatherEntry'"。

请帮忙。我在Android Studio 1.5上。我之前已经发布了这个问题,但由于我提供了不完整的细节,因此暂停了。所以我再次发布所有细节。如果我违反了社区规则,我很抱歉,我是新来的。谢谢。

1 个答案:

答案 0 :(得分:1)

WeatherEntry是一个类而不是成员。要访问WeatherContract.WeatherEntry.buildWeatherLocation(TEST_WEATHER_LOCATION); 的方法,您仍需要它的实例。 E.g。

WeatherEntry weatherEntry = new WeatherContract.WeatherEntry();
weatherEntry.buildWeatherLocation(TEST_WEATHER_LOCATION);

应该是

{{1}}