我在名为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上。我之前已经发布了这个问题,但由于我提供了不完整的细节,因此暂停了。所以我再次发布所有细节。如果我违反了社区规则,我很抱歉,我是新来的。谢谢。
答案 0 :(得分:1)
WeatherEntry
是一个类而不是成员。要访问WeatherContract.WeatherEntry.buildWeatherLocation(TEST_WEATHER_LOCATION);
的方法,您仍需要它的实例。 E.g。
WeatherEntry weatherEntry = new WeatherContract.WeatherEntry();
weatherEntry.buildWeatherLocation(TEST_WEATHER_LOCATION);
应该是
{{1}}