我想在findViewById中使用变量cb,如下所示,但它给了我一个错误,任何想法如何做到
public class Compare1 extends Activity{
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.commac1);
// setdesign();
ImageView btn=(ImageView) findViewById(R.id.comparenow);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
for(int check=1;check<17;check++){
int a=check;
String cb="checkBox"+a;
int id=getResources().getIdentifier(cb, "id", getPackageName());
CheckBox cb=(CheckBox) findViewById(id);
if(cb.isChecked()){
Toast.makeText(Compare1.this, "you selected" +cb, Toast.LENGTH_SHORT).show();
}}
}
});
答案 0 :(得分:0)
尝试:
int id= Compare1.this.getResources().getIdentifier(cb, "id", getPackageName());
单独使用getResources()
会使此方法存在于OnClickListener
对象中。
此外:
(CheckBox) Compare1.this.findViewById(id);