【问题标题】:Android - Java ListView Item OrderAndroid - Java ListView 项目顺序
【发布时间】:2015-05-24 02:22:06
【问题描述】:

我目前正在学习为 Android 应用程序编程。所以我试图编写一个小应用程序,它允许你向 ListView 添加和删除项目。

目前看起来像:

我希望 ListView 中的项目保持在顶部,例如

对不起我的英语,这就是为什么我试图用图片来表达它。我希望你明白我的问题是什么。

这就是 Java 代码目前的样子,不多,还没有添加 Listener。我现在只是想知道如何让它看起来更好:

    protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    lvItems = (ListView)  findViewById(R.id.listView);
    items = new ArrayList<String>();
    items.add("First Item");
    items.add("Second Item");
    itemsAdapter = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,items );
    lvItems.setAdapter(itemsAdapter);

}

这是目前的 XML 代码:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
    android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".MainActivity">

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Add Item"
        android:id="@+id/button"
        android:layout_alignParentBottom="true"
        android:layout_alignParentEnd="true" />

    <EditText
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/editText"
        android:layout_alignTop="@+id/button"
        android:layout_alignParentStart="true"
        android:layout_marginLeft="10dip"
        android:layout_toStartOf="@+id/button"
        android:layout_marginTop="10dip"
        android:layout_marginRight="5dip"
        android:text="Enter a new Item" />

    <ListView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/listView"
        android:layout_centerHorizontal="true"
        android:layout_above="@+id/button"
        android:gravity="top"
     />
</RelativeLayout>

【问题讨论】:

  • 你能发布你的代码吗?
  • 您可以在此处找到解决方案[调用 notifyDataSetChanged 后在 ListView 中保留位置][1] [1]:stackoverflow.com/questions/8276128/…
  • 您是否使用ListView 占用所有可用空间 - 您是否使用了android:layout_height="match_parent"?无论如何,让我们看看您的布局 xml,这样我们就不必猜测出了什么问题。
  • 哦,是的......我刚刚意识到我错过了这个简单的修复是多么愚蠢:O Thx伙计们:)

标签: java android listview android-listview


【解决方案1】:

你可以添加

android:layout_alignParentTop="true"

到您的列表视图。

【讨论】:

    【解决方案2】:

    您可以使用Collections.reverse(yourarraylist);

    对于这种方法,您可以更改列表顺序

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-12-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-01-30
      • 2013-08-01
      相关资源
      最近更新 更多