gpt4 book ai didi

java - 我的复选框似乎不是 instanceof CheckBox

转载 作者:太空狗 更新时间:2023-10-29 16:02:18 27 4
gpt4 key购买 nike

在写论文时,我在 LogCat 中收到一条警告,我认为它可能会影响我的代码。

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

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
}

最佳答案

Checkbox 类是 TextView 的子类,因此您的代码永远不会进入 else if block ,这就是警告所说的.

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

关于java - 我的复选框似乎不是 instanceof CheckBox,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27765136/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com