您好,我目前正在尝试在android上制作我的第一个应用程序,但遇到了一些问题。我正在尝试制作待办事项列表应用程序,因此希望将某种输入形式转换为复选框。我已经使用radioGroup使它与单选按钮一起使用。但是,将Checkboxes与ListView一起使用时,它根本无法工作。
这是我的代码:
public class MainActivity extends AppCompatActivity {
EditText t;
ListView listView;
ArrayList<CheckBox> checkList = new ArrayList<>();
int i = 0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
public void add(View view){
t = findViewById(R.id.input);
String s = t.getText().toString();
CheckBox check = new CheckBox(this);
checkList.add(check);
listView = findViewById(R.id.list);
checkList.get(i).setText(s);
listView.addView(checkList.get(i));
i++;
t.setText("");
}}
该应用程序崩溃,并说了一些关于adapterView的信息
答案 0 :(得分:0)
很遗憾,您在这里做错了什么。您正在尝试将视图添加到上的列表视图
listView.addView(checkList.get(i));
这不是使用ListViews的正确方法。您必须使用适配器。适配器需要提供数据以供listview加载。
请查看this教程,了解如何使用列表视图。
下面是正确使用listView的步骤的摘要。
custom_cell.xml
)。custom_cell.xml
内插入一个复选框,并放置一个ID,供以后使用以标识该复选框getView
方法getView
方法内,使用custom_cell.xml
为新的单元格充气,或在提供的情况下重复使用现有的单元格custom_cell.xml
文件中提供的ID引用复选框