gpt4 book ai didi

java - 无论如何比较int和drawable?ANDROID

转载 作者:行者123 更新时间:2023-11-29 05:57:02 26 4
gpt4 key购买 nike

有没有办法将 s 与 a 进行比较?在这段代码中,我将 int s 作为答案,如果 drawable == s 那么我想显示一条 "Correct!" toast 消息。任何帮助将不胜感激。

btn1.setOnClickListener(new OnClickListener() 
{
@Override
public void onClick(View v)
{
int s = R.drawable.exitbtn;
Resources res = getResources();
Drawable drawable = res.getDrawable(R.drawable.exitbtn);
Object a=drawable;
if(a==s)
{
ImageView imageview =(ImageView)findViewById(R.id.imageView1);
Toast.makeText(getApplicationContext(), "CORRECT!", Toast.LENGTH_SHORT).show();
imageview.setImageDrawable(drawable);
btn1.setText("1");
btn2.setText("2");
btn3.setText("3");
btn4.setText("4");
}
}
}

最佳答案

Drawable 实例与 int 实例进行比较没有意义。你想做什么?您是否要检查方法 res.getDrawable(R.drawable.exitbtn); 是否返回正确的对象?

我认为从 R 文件中获取标识符是多余的:

int s = R.drawable.exitbtn;

然后使用完全相同的标识符获取对象:

Drawable drawable = res.getDrawable(R.drawable.exitbtn);

然后尝试通过比较 id 来检查它是否真的是正确的对象。

我认为在通过 id 获取 Drawable 时没有错误的地方(特别是混淆 int 值)。如果您想确定该对象是否已创建,请检查它是否为空。

Drawable drawable = res.getDrawable(R.drawable.exitbtn);
if(drawable != null){
//do stuff
} else {
//handle the situation where there's no drawable
}

此外,我认为没有办法从 Drawable 对象中获取 id。 getDrawable 返回的实例不包含此类信息。

更好的是,您可以利用 getDrawable 可以抛出一个 NotFoundException 如果 id 有某种错误。检查docs了解详情。

关于java - 无论如何比较int和drawable?ANDROID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11682130/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com