【问题标题】:Add ListView content in an Activity [duplicate]在 Activity 中添加 ListView 内容 [重复]
【发布时间】:2017-02-27 04:02:53
【问题描述】:

我有一个带有 ListView 的 activity_main 布局。
我需要在 MainActivity 中填写我的 ListView。

MainActivity 没有扩展 ListActivity,因为我在布局中不仅使用 ListView,还使用其他元素。

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_top_level);
    ListView listView = (ListView) findViewById(R.id.mylist);
}

Item.items 返回一个我需要添加到 ListView 的数组。
我该怎么做?

我知道我必须使用 ArrayAdapter。但我不能正确地做到这一点。
它对我有用,但我不明白使用android.R.layout.simple_list_item_1

ArrayAdapter<Item> itemsAdapter = 
    new ArrayAdapter<>(this, android.R.layout.simple_list_item_1, Item.items);
listView.setAdapter(itemsAdapter);

【问题讨论】:

    标签: android listview android-arrayadapter


    【解决方案1】:

    关于您的问题,您有两种选择。

    1) 非常简单的东西,将toString() 你的Item 对象放在每一行。

    ArrayAdapter<Item> adapter = new ArrayAdapter<Item>(
        MainActivity.this, // Context
        android.R.layout.simple_list_item_1, // An XML file for your items
        Item.items         // The Item[] array
    );
    listView.setAdapter(adapter);
    

    2) 定义您的own adapter class with your own XML


    如果您知道如何使用ListActivity,顺便说一句,您仍然可以显示其他元素。

    Read the documentation

    如果您愿意,您可以通过在onCreate() 中使用setContentView() 设置您自己的视图布局来自定义屏幕布局。为此,您自己的视图必须包含一个 ID 为 "@android:id/list"ListView 对象

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-06-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-08-02
      • 2014-08-30
      • 1970-01-01
      相关资源
      最近更新 更多