是否可以将图像添加为类属性?

时间:2020-06-12 11:43:20

标签: android image imageview png

我正在创建一个将容纳不同菜肴的类,其属性是标题,难度,类型和时间。但是我还希望在创建该类的对象时将显示一个图像。如何设置图像.png作为类的属性?

这是代码:

public class Dish {

    private String name;
    private String time;
    private String type;
    private Whatevergoesinhere image;
    private int difficulty;


    public Dish(String name, String time, String type, Whatevergoesinhere image, int difficulty) {
        this.name = name;
        this.time = time;
        this.type = type;
        this.image = image;
        this.difficulty= difficulty;
    }

    public String getName() {
        return name;
    }

    public String getTime() {
        return time;
    }

    public String getType() {
        return type;
    }

    public Whatevergoesinhere getImage() {
        return image;
    }

    public int getDifficulty() {
        return difficulty;
    }

    public static final Dish[] dishes = {
            new Dish("Judías verdes con patatas", "45 min.", "verduras", "R.id.ic_launcher_background.xml", )
    }
}

我尝试使用BufferedImage,但Android不支持。

如果您有任何想法,请帮助。

1 个答案:

答案 0 :(得分:1)

从我的评论继续:”“如果您从应用程序资源(import java.awt.*; import javax.swing.*; public class TimerTest extends JFrame{ JButton timerLabel = null; public TimerTest() { this.setTitle("Timer Test"); Container c = this.getContentPane(); c.setLayout(new FlowLayout()); timerLabel = new JButton("0"); timerLabel.setEnabled(false); c.add(timerLabel); this.setSize(150,150); this.setVisible(true); int k = 100; while(true) { timerLabel.setText(k+" seconds left"); try { Thread.sleep(1000); } catch (InterruptedException e) { e.printStackTrace(); } k--; } } public static void main(String[] args) { new TimerTest(); } } 文件夹)中获取这些图像,则可以传递可绘制的ID,该ID随后将用于在{{1}上设置图像资源}。”

为此,您需要将res变量声明更改为此:

ImageView

然后您还需要将构造函数和getter方法声明更改为以下形式:

image

稍后使用此数据保存类时,您只需使用ImageView.setImageResource即可显示您拥有的图像。