Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ssl/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 您好,如何获取按钮DrawableTop图标的名称或ID?_Java_Android - Fatal编程技术网

Java 您好,如何获取按钮DrawableTop图标的名称或ID?

Java 您好,如何获取按钮DrawableTop图标的名称或ID?,java,android,Java,Android,我有一个按钮,可以根据显示图标的名称或Id调用方法, getResources()。getIdentifier没有帮助 谢谢您可以使用图像按钮并测试此图像按钮的可绘制性 对ImageButton使用getDrawable()方法,并使用.getConstantState().equals()对其进行测试 示例代码: ImageButton btn = (ImageButton) findViewById(R.id.myImageBtn); Drawable drawable = btn.getD

我有一个按钮,可以根据显示图标的名称或Id调用方法, getResources()。getIdentifier没有帮助
谢谢

您可以使用图像按钮并测试此图像按钮的可绘制性

对ImageButton使用getDrawable()方法,并使用.getConstantState().equals()对其进行测试

示例代码:

ImageButton btn = (ImageButton) findViewById(R.id.myImageBtn);
Drawable drawable = btn.getDrawable();
if (drawable.getConstantState().equals(getResources().getDrawable(R.drawable.myDrawable).getConstantState())){
   //Do your work here
}
参考资料:

因此,如果您有设置不同图标的逻辑,请跟踪您设置的图标?id用于按钮,而不是按钮上设置的图像。因此,无论设置了什么图标,id或名称都是相同的。你应该寻找另一种解决方案,比如状态,而不是依赖于按钮上设置的图标。我的想法是,我希望一个按钮根据图标执行多个作业,我可以使用GetText,但它不起作用,因为按钮的文本被翻译成多种语言。当然,按钮的状态对于iconThank来说是一样的。我的问题是关于普通按钮,而不是图像按钮。总之,我用一个全局变量解决了我的问题