Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/231.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
Android 不能;勾选“;动态创建的复选框_Android_Arraylist_Checkbox_Checkboxlist - Fatal编程技术网

Android 不能;勾选“;动态创建的复选框

Android 不能;勾选“;动态创建的复选框,android,arraylist,checkbox,checkboxlist,Android,Arraylist,Checkbox,Checkboxlist,我正试图根据在“颜色”微调器中选择的项目,动态创建复选框 例如:如果在微调器上选择“红色”,将创建以下复选框:苹果[]、草莓[]、樱桃[]。如果我从spinner中选择“黄色”,将创建以下复选框:香蕉[],菠萝[] 我的代码在运行时可以正常工作并正确显示列出的项目,但当我按下动态生成的复选框时,为什么它们“不可选中”?小“复选标记”根本不会出现在框中 private Fruits fruit = new Fruits(); final GridView gv = (GridView) find

我正试图根据在“颜色”微调器中选择的项目,动态创建复选框

例如:如果在微调器上选择“红色”
,将创建以下复选框:苹果[]、草莓[]、樱桃[]。如果我从spinner中选择“黄色”,将创建以下复选框:香蕉[],菠萝[]

我的代码在运行时可以正常工作并正确显示列出的项目,但当我按下动态生成的复选框时,为什么它们“不可选中”?小“复选标记”根本不会出现在框中

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);
   }

我没有使用string.xml文件来填充我的复选框项。

要选中复选框,需要添加setChecked。在已选中的复选框中,添加此代码以将其选中

checkbox.setChecked(true);
在你的代码中,我认为没有复选框的动态创建

CheckBox checkbox = new CheckBox(this);
checkboxsetText("created new checkbox");

我可能遗漏了一些内容,但看起来您正在创建一个字符串列表,而不是复选框。在哪里动态创建复选框?啊,我不太确定tbh。我刚开始用Android编程。我是否执行以下操作:
CheckBox chk=newcheckbox()内部
未选中
?通常是这样的。我已经有一段时间没有使用安卓系统了,我不在我的工作站旁边检查它。但一般来说,您需要创建新视图,在本例中,选中复选框,然后将其添加到所需的任何视图中,例如GridView。如果您也附加了xml文件,那么它应该可以工作。实际上,我正在使用一个名为
Fruits
的Java类(因此我在顶部实例化了它)。在这个Fruits类中,java类只是简单的if-else语句,比如
if(fruit.equals(“red”){fruit.add(“Apple”)}
如何将复选框的文本值传递给我的下一个活动?每当单击某个内容时,将该位置的列表项传递给下一个活动
CheckBox checkbox = new CheckBox(this);
checkboxsetText("created new checkbox");