java - 删除空数组列表中的元素会使我的应用程序崩溃

标签 java android arraylist android-spinner

我的微调器有一个数组列表,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/

相关文章:

java - Android:媒体播放器不会在使用 ImageView 的第二个 Activity 中暂停

java - 移动 Arraylist 中的元素

java - 在java中使用循环回溯?

java - 如何从 Java 获取 Windows 虚拟文件夹位置?

Java Play 框架流程

php - 从在线数据库检索数据

android - 在 EPub 阅读器的 WebView 上呈现 Html 元素

java - 将 XML 数据追加到 ArrayList

java - 双倍 ArrayList 乘法

java - 本地主机上的服务器 Apache TomEE 无法启动