我正在尝试创建动态创建的复选框,具体取决于我在'color'微调器中选择的项目。
例如:如果我在我的微调器上选择“red”,将创建以下复选框: Apple [],Strawberry [],Cherry [] 。如果我从微调器中选择“黄色”,将创建以下复选框:香蕉[],菠萝[] 。
我的代码在我运行时正常运行并显示列出的项目,但是当我按下它时,为什么动态生成的复选框“取消选中”?完整的方框中没有出现小“勾选标记”。
private Fruits fruit = new Fruits();
final GridView gv = (GridView) findViewById(R.id.gv);
Spinner sp = (Spinner) findViewById(R.id.sp);
sp.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> adapterView, View v, int pos, long l){
String item = (String) adapterView.getItemAtPosition(pos);
List<String> myList = fruit.getFruits(item);
ArrayAdapter<String> adapter_1 = new ArrayAdapter<String>(Activity_1.this, android.R.layout.simple_list_item_multiple_choice, myList);
gv.setAdapter(adapter_1);
}
编辑:
我正在使用Fruits
java类来生成我的复选框项目:
public class Fruits {
List<String> getFruits(String colour) {
List<String> fruit = new ArrayList<String>();
if (colour.equals("red")) {
fruit.add("Apple");
fruit.add("Strawberry");
fruit.add("Cherry");
}
else if (colour.equals("yellow") {
fruit.add("Banana");
fruit.add("Pineapple");
}
return fruit;
}
}
我没有使用string.xml文件来填充我的复选框项目。
答案 0 :(得分:1)
要选中一个复选框,您需要添加setChecked.Inside onItemSelected添加此代码以使其选中
checkbox.setChecked(true);
同样在你的代码中我认为没有动态创建复选框。如果你想动态创建复选框,那么就像这样创建
CheckBox checkbox = new CheckBox(this);
checkboxsetText("created new checkbox");