如何在id中查找视图中使用变量变量

时间:2014-04-03 20:28:38

标签: android

我想在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();
                    }}

        }
    });

1 个答案:

答案 0 :(得分:0)

尝试:

int id= Compare1.this.getResources().getIdentifier(cb, "id", getPackageName());

单独使用getResources()会使此方法存在于OnClickListener对象中。

此外:

(CheckBox) Compare1.this.findViewById(id);