当前位置: 首页 > 面试题库 >

Java使用ArrayList填充ListView?

易弘阔
2023-03-14
问题内容

我的Android应用程序需要使用中填充ListView数据ArrayList。

我这样做很麻烦。有人可以帮我提供代码吗?


问题答案:

你需要通过进行操作ArrayAdapter,以使ArrayList(或任何其他集合)适应布局中的项目(ListView,Spinner等)。

这是Android开发人员指南所说的:

一个ListAdapter管理ListView任意对象数组支持的。默认情况下,此类期望提供的资源ID引用单个TextView。如果要使用更复杂的布局,请使用也带有字段ID的构造函数。该字段ID应该TextView在较大的布局资源中引用a 。

然而,TextView被引用,将填充有toString()阵列中的每个对象的。你可以添加自定义对象的列表或数组。重写toString()对象的方法,以确定将为列表中的项目显示什么文本。

要使用TextViews数组显示以外的其他功能(例如)ImageViews,或者要在toString()结果中填充一些数据,请覆盖getView(int, View, ViewGroup)以返回所需的视图类型。

因此,你的代码应如下所示:

public class YourActivity extends Activity {

    private ListView lv;

    public void onCreate(Bundle saveInstanceState) {
         setContentView(R.layout.your_layout);

         lv = (ListView) findViewById(R.id.your_list_view_id);

         // Instanciating an array list (you don't need to do this, 
         // you already have yours).
         List<String> your_array_list = new ArrayList<String>();
         your_array_list.add("foo");
         your_array_list.add("bar");

         // This is the array adapter, it takes the context of the activity as a 
         // first parameter, the type of list view as a second parameter and your 
         // array as a third parameter.
         ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(
                 this, 
                 android.R.layout.simple_list_item_1,
                 your_array_list );

         lv.setAdapter(arrayAdapter); 
    }
}


 类似资料:
  • 我习惯于使用Arraylist,下面您可以看到我为存储数据所做的尝试: 这就是我尝试过的,但遗憾的是,这并不奏效: 下面你可以找到我剩下的代码,但上面的一个应该足以让我清楚的想要做什么... } 我创建了Dao类,如下所示::- @DAO公共接口DeckBuilderDao{

  • 问题内容: 我需要用ArrayList填充JComboBox。有什么办法吗? 问题答案: 使用ArrayList类的方法并将其传递给 有关更多信息,请参见JavaDoc和教程。

  • 问题内容: 我有抽象类Human,这是另外两个类Student和Worker的延伸。我正在尝试填写两个数组列表。类型为Student的ArrayList和类型为Worker的ArrayList动态。 } } } } 问题答案: 当然,只需添加学生: 您可以为工人做几乎完全相同的事情。如果要使用循环,请执行以下操作: 这将创建一个新学生列表,其姓名后面有不同的编号。但是,如果您需要其他数据,则该数据

  • 问题内容: 我必须创建一个大小未知的二维数组。因此,我决定使用2d ArrayList,问题是我不确定如何初始化这样的数组或存储信息。 说我有以下数据 .... etc多达大量的随机连接 我想插入 数组可以自动为我更新列/行吗 任何帮助表示赞赏,谢谢 问题答案: 我不确定如何初始化这样的数组或存储信息。 像这样: 或者,如果您喜欢这样的话: 要插入新行,您可以 并在您执行的操作上附加另一个元素 这

  • 问题内容: 我想填充与 我只有两列。我做不到 到目前为止,我尝试过的是: 桌上什么也没显示。但是当我进行打印时,我看到的是我添加的数据。但是在桌子上什么也没显示。 我创建列如下: 我在Internet上看到了一些示例,这些示例中创建了一个对象来填充对象,但我不想仅为表视图创建类。还有其他可行的方法吗? 编辑: 我只想拥有这样的东西: 问题答案: 首先,您必须在FXML文件或代码中创建table’c