【问题标题】:Open a row in listview automatically (android project)自动在列表视图中打开一行(android项目)
【发布时间】:2017-12-27 23:56:45
【问题描述】:

例如;我有很长的列表视图,它有 30 行(项目)。我想显示这个列表视图,但打开屏幕后,它会显示 15 行。也就是说,列表视图的中间会自动显示出来。可能吗? (注意:我不想将 15. 行显示为第一行。)

更新:

我不想删除行。我有列表视图,它运行良好。我想显示列表的中间。 Scrool 将一直流动到 15. 行,我会看到所有这些,但它会在列表视图打开时显示 12. 或 15. 行。

【问题讨论】:

    标签: android listview android-custom-view


    【解决方案1】:

    将您的 ListView 绑定到 ArrayAdapter

    最终 ListView lv = (ListView) findViewById(R.id.lv);

    字符串[] 水果 = 新字符串 [] { “蜡样秘鲁”, “巴库帕里”, “海滩梅花”, "黑树莓"};

    // 从字符串数组元素创建一个列表

    final List fruits_list = new ArrayList(Arrays.asList(fruits));

    // 从 List 中创建一个 ArrayAdapter

    最终的 ArrayAdapter arrayAdapter = 新的 ArrayAdapter (这个,android.R.layout.simple_list_item_1,fruits_list);

    // DataBind ListView 与来自 ArrayAdapter 的项目

    lv.setAdapter(arrayAdapter);

    从列表中删除/删除第一项。您可以在一个循环中删除多个。

    fruits_list.remove(0);

    // 通知适配器

    arrayAdapter.notifyDataSetChanged();

    编辑:

    // 用于滚动到列表中的特定项目

    lv.smoothScrollToPosition(15); // 这里15是item的位置

    【讨论】:

    • 对不起,我无法完全解释。我猜你删除项目直到所需的行,但我不想删除行。我有列表视图,它运行良好。我想显示列表的中间。 Scrool 将一直流动到 15. 行,我会看到所有这些,但是当列表视图打开时它会显示 12. 或 15. 行。
    • @ozan1 我已根据您的要求更新了答案
    【解决方案2】:

    答案是 lv.setSelection(15);

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-12-14
      • 1970-01-01
      • 2012-02-07
      • 2018-07-08
      • 1970-01-01
      • 1970-01-01
      • 2014-12-31
      • 1970-01-01
      相关资源
      最近更新 更多