利用android studio创建2个页面,第一个页面选择电影清单里面的某个电影(可以有缩略图+文字);单击查看详情,跳转到第2页,展示相关的图片、文字等详情;单击第二页面的返回按键,可以返回 到第一页面,继续选择。
时间: 2025-04-02 14:11:52 浏览: 32
### Android Studio 中实现页面间导航与数据传递
在 Android 开发中,通过 `Intent` 可以轻松实现不同 Activity 或 Fragment 之间的切换和数据传递。以下是具体方法:
#### 使用 Intent 进行页面跳转并传递数据
当用户点击电影列表中的某个项目时,可以通过创建一个新的 `Intent` 来启动目标 Activity 并携带所需的数据。
```java
// 假设当前处于 MovieListActivity.java 文件中
public void onItemClick(int position) {
// 获取选中的电影对象 (假设是一个自定义类 Movie)
Movie selectedMovie = movieList.get(position);
// 创建一个显式的 Intent 对象用于启动 DetailActivity
Intent intent = new Intent(MovieListActivity.this, DetailActivity.class);
// 将电影的相关信息作为额外参数附加到 Intent 上
intent.putExtra("movie_title", selectedMovie.getTitle());
intent.putExtra("movie_description", selectedMovie.getDescription());
intent.putExtra("movie_image_url", selectedMovie.getImageUrl());
// 启动新的 Activity
startActivity(intent);
}
```
上述代码片段展示了如何将电影的标题、描述以及图片 URL 传递给下一个页面[^1]。
#### 接收传入的数据并在详情页展示
在接收端(DetailActivity),可以提取这些数据并通过视图组件动态加载它们。
```java
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_detail);
// 初始化 UI 组件
TextView titleTextView = findViewById(R.id.title_text_view);
TextView descriptionTextView = findViewById(R.id.description_text_view);
ImageView imageView = findViewById(R.id.image_view);
// 提取来自上一活动的意图数据
String movieTitle = getIntent().getStringExtra("movie_title");
String movieDescription = getIntent().getStringExtra("movie_description");
String imageUrl = getIntent().getStringExtra("movie_image_url");
// 设置文本内容
titleTextView.setText(movieTitle);
descriptionTextView.setText(movieDescription);
// 加载网络图片资源(需借助第三方库 Glide)
Glide.with(this).load(imageUrl).into(imageView);
}
```
这里使用了流行的图像处理库 **Glide** 来简化远程图片下载过程[^2]。
#### 添加返回功能
为了允许用户从详细信息页面回到之前的列表界面,默认情况下只需调用系统的回退机制即可完成此操作。
如果希望定制化返回行为,则可以在工具栏或者按钮事件监听器里手动触发 finish 方法关闭当前 activity:
```java
Button backButton = findViewById(R.id.back_button);
backButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
finish(); // 结束本activity并返回至上一层级
}
});
```
以上即完成了基本的需求——由带缩略图及简介的文字列表项链接至对应影片资料详尽呈现处再加具备正常运作之返航机能[^3]。
阅读全文