我的微调器有一个arraylist,1个添加按钮将元素添加到列表中,1个删除按钮删除列表中的元素。我添加到列表中的元素将显示在微调器中。最初,arraylist是空的,里面什么都没有。如果它是空的并且我按下删除按钮,意味着我试图删除没有元素的arraylist中的元素,这会使我的应用程序崩溃。
所以,当列表为空时,我想添加一个toast来替换delete函数。当列表不为空时,删除功能将返回。
对此有何解决方案?
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);
}
答案 0 :(得分:1)
假设您的ArrayList被称为mList
,您的删除功能应该类似于 -
public void deleteElement(int pos) {
if(mList.isEmpty()) {
//Toast
Toast.makeText(yourContext, "Ooi, list is empty", Toast.LENGTH_SHORT).show();
} else {
mList.remove(pos);
}
}
<强>更新强>
@Override
public void onClick(View view) {
if(list.isEmpty()) {
//Your Toast
Toast.makeText(yourContext, "Ooi, list is empty", Toast.LENGTH_SHORT).show();
} else {
list.remove(position);
}
}
答案 1 :(得分:1)
首先,恕我直言以获得更好的用户体验,如果列表为空,则不应显示微调器。您可以向用户显示干杯消息,说明您无法执行此操作。
无论如何,这里是您可以用来进行检查的代码段。您可以将此支票放在您想要的任何地方
if(!list.isEmpty())
//list is empty
else
list is not empty
答案 2 :(得分:0)
你应该测试&#34;空&#34;案件。假设一个名为&#34;的元素&#34;:
if elements.isEmpty() {
deleteButton.disable();
}
最好是在数组中没有元素时禁用删除按钮。