点击listview中的一项跳转到详情页
时间: 2024-02-27 07:56:25 浏览: 73
要实现这个功能,你需要以下步骤:
1. 在列表中的每个项中添加一个点击事件监听器。
2. 在监听器中获取被点击项的数据,并将其传递给详情页。
3. 打开详情页,并将数据传递给它。
以下是示例代码:
在列表项布局文件中添加一个可点击的视图,例如:
```
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:clickable="true"
android:focusable="true"
android:orientation="vertical"
android:padding="16dp">
<TextView
android:id="@+id/title_textview"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Title" />
<TextView
android:id="@+id/description_textview"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Description" />
</LinearLayout>
```
在列表项的适配器中为点击事件设置监听器:
```
public class MyAdapter extends ArrayAdapter<Item> {
...
@Override
public View getView(final int position, View convertView, ViewGroup parent) {
...
convertView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Item item = getItem(position);
Intent intent = new Intent(getContext(), DetailActivity.class);
intent.putExtra("item", item);
getContext().startActivity(intent);
}
});
return convertView;
}
}
```
在详情页中获取传递过来的数据:
```
public class DetailActivity extends AppCompatActivity {
...
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_detail);
Item item = getIntent().getParcelableExtra("item");
...
}
}
```
在上述代码中,Item 是一个自定义的数据类,它必须实现 Parcelable 接口以便能够在 Intent 中传递。
阅读全文