我的微调器有一个数组列表,1 个添加按钮用于将元素添加到列表中,1 个删除按钮用于删除列表中的元素。我添加到列表中的元素将显示在微调器中。最初,数组列表是空的,里面什么也没有。当它为空并且我按下删除按钮时,意味着我正在尝试删除数组列表中没有元素的元素,这会使我的应用程序崩溃。
所以,我想添加一个toast来代替列表为空时的删除功能。当列表不为空时,删除功能就会回来。
有什么解决办法吗?
spinner = (Spinner) findViewById(R.id.spinner1);
adp = new ArrayAdapter<String>(CarSelection.this,android.R.layout.simple_spinner_item, list);
adp.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(adp);
spinner.setOnItemSelectedListener(
new OnItemSelectedListener() {
public void onItemSelected(
AdapterView<?> parent, View view, final int position, long id) {
Button delete = (Button) findViewById(R.id.delete);
View.OnClickListener del = new View.OnClickListener() {
@Override
public void onClick(View view) {
list.remove(position);
}
最佳答案
首先,恕我直言,为了更好的用户体验,如果列表为空,则不应显示微调器。您可以向用户显示 toast 消息,说明您无法执行此操作。
无论如何,这里是您可以用来进行检查的代码 fragment 。您可以将此检查放在您想要的任何位置
if(!list.isEmpty())
//list is empty
else
list is not empty
关于java - 删除空数组列表中的元素会使我的应用程序崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25248419/