【发布时间】:2017-01-05 22:49:52
【问题描述】:
我有这样的问题。我正在尝试获取 ListView 中的行 ID。为此,我使用setOnItemClickListener:
wyswietlenieZadan = (ListView)findViewById(R.id.ListView);
mAdapter = new ArrayAdapter<>(this, R.layout.zadania, R.id.opisZadania, listaZadan);
wyswietlenieZadan.setAdapter(mAdapter);
wyswietlenieZadan.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
Toast.makeText(getApplicationContext(), "Twoje id: " +id, Toast.LENGTH_SHORT).show();
}
});
这是我的zadania.xml:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="center_vertical">
<TextView
android:id="@+id/opisZadania"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hello"
android:textSize="20sp"
android:layout_marginStart="32dp"
android:layout_alignParentStart="true"
android:layout_marginTop="12dp"
android:clickable="true"
android:contextClickable="true" />
<ImageButton
android:layout_width="wrap_content"
app:srcCompat="@android:drawable/ic_menu_close_clear_cancel"
android:id="@+id/task"
android:layout_marginEnd="19dp"
android:layout_height="wrap_content"
style="@android:style/Widget.ImageButton"
android:background="@android:drawable/ic_delete"
android:onClick="usunZadanie"
android:layout_alignTop="@+id/opisZadania"
android:layout_alignParentEnd="true"
android:focusable="false" />
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:srcCompat="@android:drawable/ic_menu_edit"
android:id="@+id/imageView"
android:layout_toStartOf="@+id/task"
android:layout_alignTop="@+id/task"
android:onClick="edytujZadanie"
android:focusable="false" />
</RelativeLayout>
它不起作用,但是当我使用 simple_list_item_1.xml 而不是 zadania.xml 作为布局时,我可以获得每条记录的 id。有人知道为什么它不适用于我的自定义布局吗?
【问题讨论】:
-
为什么要使用
simple_list_item_1.xml? -
我不想使用 simple_list_item_1。但是有了这个 SetOnItemClicklistener 工作正常。
标签: android android-layout listview android-studio