private String isChecked(String id) {
id = "R.id." + id;
int ID = getResources().getIdentifier(id, "id", "com.example.android.justjava");
CheckBox checkBox = (CheckBox) findViewById(ID);
return String.valueOf(checkBox.isChecked());
}
我将值check_whipped_cream
(xml文档中复选框ID)传递到上面的函数中,但是当我调试应用程序时,变量ID
始终等于0。这是怎么回事?
注意:isChecked()
在最后一行方法中调用的是CheckBox类。
最大的问题是
id = "R.id." + id;
你问的Android寻找R.id.id
到id
你既然已经提供了"id"
作为第二个参数。应该是公正的id
。为避免拼写错误的单词出现问题,您应该依靠.getPackageName()的返回值,而不是自己对其进行硬编码。
用
摆脱 id = "R.id." + id;
getResources().getIdentifier(id, "id", getPackageName());
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句