Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/304.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 我的复选框没有';似乎没有复选框的实例_Java_Android_Checkbox_Instanceof - Fatal编程技术网

Java 我的复选框没有';似乎没有复选框的实例

Java 我的复选框没有';似乎没有复选框的实例,java,android,checkbox,instanceof,Java,Android,Checkbox,Instanceof,在写我的论文时,我在LogCat中得到了一个警告,我认为这可能会影响我的代码 我收到一个包含一些数据的JSON,我必须以编程方式使用复选框和radiobutton(在RadioGroup中)创建一个布局。稍后,我可以对这项调查进行投票,这是我在布局中获取childat()时出现问题的原因 if(child instanceof CheckBox) 不起作用,我不明白为什么 这是我的密码: ll = (LinearLayout) findViewById(R.id.llSurvey); //

在写我的论文时,我在LogCat中得到了一个警告,我认为这可能会影响我的代码

我收到一个包含一些数据的JSON,我必须以编程方式使用复选框和radiobutton(在RadioGroup中)创建一个布局。稍后,我可以对这项调查进行投票,这是我在布局中获取childat()时出现问题的原因

if(child instanceof CheckBox)
不起作用,我不明白为什么

这是我的密码:

 ll = (LinearLayout) findViewById(R.id.llSurvey);  //OnCreate

    /*Creating CheckBox*/
            String votes = jObj.getString("votes");
            String label = jObj.getString("label");
            String usid = jObj.getString("USID");    
            if(uType.equals("multi")){
                CheckBox cb = new CheckBox(SingleSurvey.this);
                cb.setText(label + " (" + votes + ")");
                cb.setId(s+1000);
                ll.addView(cb);         
                Log.i("MULTI_TYPE", "usid: " + usid + " id: " + cb.getId());
            }
            s++;

    /*Voting*/

            for(int i = 0; i < ll.getChildCount(); i++){
                View child = ll.getChildAt(i);
                int p = child.getId();
                Log.i("CHILD ID", "id: " + p);

                if(child instanceof TextView){
                    continue;
                }

                else if(child instanceof CheckBox){
                    Log.i("INSTANCE OF CB", "checkbox");
                    CheckBox cb = (CheckBox) child;
                    if(cb.isChecked()){
                        int cbId = cb.getId();
                        usid = rb_usid[cbId];
                        Log.i("CHECKBOX", "usid: " + usid);
                    }
                }

                //some other stuff
            }
ll=(线性布局)findViewById(R.id.llSurvey)//一次创建
/*创建复选框*/
字符串投票=jObj.getString(“投票”);
字符串标签=jObj.getString(“标签”);
字符串usid=jObj.getString(“usid”);
if(uType.equals(“multi”)){
复选框cb=新复选框(SingleSurvey.this);
cb.setText(标签+”(“+投票+”);
cb.setId(s+1000);
ll.addView(cb);
Log.i(“MULTI_TYPE”,“usid:+usid+”id:+cb.getId());
}
s++;
/*投票表决*/
for(int i=0;i
复选框类是一个
文本视图
子类,因此您的代码永远不会进入
else if
块,这就是警告所说的

    android.widget.TextView
       ↳android.widget.Button
           ↳android.widget.CompoundButton
               ↳android.widget.CheckBox

好啊我要打我一巴掌。