繁体   English   中英

无法在多选列表视图中填充arraylist

[英]Can't populate arraylist in multiple choice listview

我有一个创建Arraylist的类。 通过此类,我添加/删除对象。 填充微调器没有问题,但是当我使用列表视图时,它始终为空。

我如何填充微调器:

final ArrayAdapter<Object> adapterEleves;
adapterEleves = new ArrayAdapter<Object>(this, android.R.layout.simple_list_item_1, ArraylisteEtudiants.getListe());

Spinner spinnerEtudiants = (Spinner) findViewById(R.id.spinnerEtudiants);
spinnerEtudiants.setAdapter(adapterEleves);
adapterEleves.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);

我如何尝试使用多个选择填充列表视图:

    final ArrayAdapter<Object> adapterEleves;
    adapterEleves = new ArrayAdapter<Object>(this, android.R.layout.simple_list_item_multiple_choice, ArraylisteEtudiants.getListe());

    ListView listEtudiants = (ListView) findViewById(R.id.afficherListeEtudiants);
    listEtudiants.setAdapter(adapterEleves);
    adapterEleves.setDropDownViewResource(android.R.layout.simple_list_item_multiple_choice);

我的xml:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_width="fill_parent"
  android:layout_height="fill_parent"
  android:orientation="vertical" >

    <ListView
      android:id="@+id/afficherListeEtudiants"
      android:layout_width="fill_parent"
      android:layout_height="wrap_content"
      android:choiceMode="multipleChoice" >
    </ListView>

</LinearLayout>

我的arraylist类:

public class ArraylisteEtudiants {

    final static ArrayList<Object> listeEtudiants = new ArrayList<Object>();

    public static ArrayList<Object> getListe() {

        return listeEtudiants;
    }
}

提前致谢! :)

根据Android参考:

ArrayAdapter

默认情况下,此类期望提供的资源ID引用单个TextView。 如果要使用更复杂的布局,请使用也带有字段ID的构造函数。 该字段ID应该在较大的布局资源中引用TextView。

但是, 如果引用了TextView, 它将使用array中每个对象的toString()进行填充 您可以添加自定义对象的列表或数组。 重写对象的toString()方法,以确定将为列表中的项目显示什么文本。

我很确定您的ArrayAdapter不提供toString()方法,这就是为什么它将向您显示空白列表的原因。

您可以在返回的对象中简单地重写该方法(尝试使用更具体的类型而不是Object )。

如果这不能解决您的问题,则应尝试自定义ArrayAdapter,扩展ArrayAdapter,对getView()方法进行个性化设置。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM