java - Android 无法解析导入的符号

标签 java android

我正在遵循一本名为《Head First Android Development》的书的指南 《大脑友好指南》作者:Dawn Griffiths、David Griffiths。 问题是我完全复制了书中建议的代码,但它不起作用。 我已经尝试复制书籍网站https://github.com/dogriffiths/HeadFirstAndroid/tree/master/chapter06/Starbuzz中的代码 但还是不行

它是 DrinkActivity.java 的代码:

package com.hfad.starbuzz;

import android.app.Activity;
import android.os.Bundle;
import android.widget.ImageView;
import android.widget.TextView;

public class DrinkActivity extends Activity {

    public static final String EXTRA_DRINKNO = "drinkNo";

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_drink);
    }

    int drinkNo= (Integer)getIntent().getExtras().get(EXTRA_DRINKNO);
    Drink drink = Drink.drinks[drinkNo];

    ImageView photo = (ImageView)findViewById(R.id.photo);
    photo.setImageResource(drink.getImageResourceID());
    photo.setContentDescription(drink.getName());

    TextView name=(TextView)findViewById(R.id.name);
    name.setText(drink.getName());

    TextView description=(TextView)findViewById(R.id.description);
    description.setText(drink.getDescription());
}

the method between cannot resolve symbol the method

此类方法位于另一个类中,如下所示:

package com.hfad.starbuzz;

public class Drink {
private String name;
private String description;
private int imageResourceId;

public static final Drink[] drinks = {
        new Drink("Latte", "A couple of espresso shots with steamed milk" , R.drawable.latte),
        new Drink("Cappuccino", "Espresso, hot milk, and a steamed milk foam", R.drawable.cappuccino),
        new Drink("Filter", "Highest quality beans roasted and brewed fresh", R.drawable.filter)
};

private Drink(String name, String description, int imageResourceId) {
    this.name= name;
    this.description= description;
    this.imageResourceId= imageResourceId;
}

public String getDescription() {
    return  description;
}

public String getName() {
    return  name;
}

public  int getImageResourceID() {
    return imageResourceId;
}

public String toString() {
    return this.name;
}
}

根据我的理解,方法setContentDescriptionsetText应该位于TextViewImageView中。

问题是我已经导入了 TextViewImageView

那么发生了什么?

谢谢

最佳答案

您的代码位于方法之外,请将其粘贴到 {} 之间的 onCreate() 方法中

关于java - Android 无法解析导入的符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43354824/

相关文章:

Java泛型类型比较

java - 如何从 mat 对象获取整数数组,反之亦然

Java Graphics2D 流?

android - 检索项目 : No resource found that matches the given name Borderless. 彩色的父级时出错

Android - 动态添加底部导航 View

android - Android 的 SQLite 删除

java - 如何在我的 Android 选项卡中创建 YouTube 应用程序?

java - sdkman 缺少特定的 Java 版本

Android SQLite(一)没有这样的表

android - android 推送通知分组不起作用