我想動態創建根據我在「顏色」微調器中選擇的項目創建複選框。無法「檢查」動態創建的複選框
例如:如果我選擇在我的飛旋「紅」,下面的複選框將被創建:蘋果[],草莓[],櫻桃[]。如果我選擇「黃色」從teh微調框,將創建以下複選框:香蕉[],菠蘿[]。
我的代碼在我運行時正常運行並顯示列出的項目,但爲什麼當我按下它們時,我的動態生成複選框「無法檢查」?這個小小的「複選標記」根本沒有出現在框中。
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文件,以填補我的複選框的項目。
我可能會錯過某些東西,但它看起來像是在創建一個字符串列表而不是複選框。 你在哪裏動態創建複選框? –
啊,我不太確定tbh。我剛開始使用Android編程。我是否會這樣做:'CheckBox chk = new CheckBox();'onItemSelected'內部? – 5120bee
一般情況下是這樣的。 自從我做Android工作已經有一段時間了,我不在我的工作站旁邊檢查它。 但一般來說,您需要創建新的視圖,在這種情況下,複選框,然後將其添加到任何你想要的視圖,例如GridView。 然後它應該工作 –