intent传参 之 Bitmap

本文介绍如何在Android应用中实现ListView项点击时跳转到详情页,并正确传递所选项目的Bitmap图像。通过示例代码展示了从ImageView获取Bitmap的方法,并在Intent中进行传递。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

要实现一个功能  

单击一个listView 的列表项, 进入详情页面, 跳转的过程中要传递一个 Bitmap   

[java]  view plain copy
  1. // ListView的单击事件  
  2. @Override  
  3. protected void onListItemClick(ListView l, View v, int position, long id) {  
  4. super.onListItemClick(l, v, position, id);  
  5. //产品图像  
  6. ImageView imageView = ((ImageView)layout.findViewById(R.id.product_img));  
  7. //Bitmap productImg = imageView.getDrawingCache();//??? 返回null  
  8. BitmapDrawable mDrawable =  (BitmapDrawable) imageView.getDrawable();  
  9. Bitmap productImg = mDrawable.getBitmap();  
  10. //传递  
  11. Bitmapintent.putExtra("productImg", productImg);  

注意1 productImg = imageView.getDrawingCache();//??? 返回null   

正确的取法是:

BitmapDrawable mDrawable =  (BitmapDrawable) imageView.getDrawable();
 Bitmap productImg = mDrawable.getBitmap();

 

[java]  view plain copy
  1. 接收 :productImg = (Bitmap) bundle.get("productImg");  

### 使用 `Intent` 递参数并启动 Activity 在 Android 开发中,可以通过 `Intent` 对象不仅实现活动之间的导航,还能携带必要的数据。下面展示了一个具体的例子,说明如何创建带有额外参数的 `Intent` 并用于启动新的 Activity。 #### 创建带参数的 Intent 实例 当需要向目标 Activity 发送特定的数据时,可以利用 `putExtra()` 方法给 `Intent` 添加键值对形式的附加信息: ```java // 构建一个显式的 Intent 来指定要启动的目标 Activity 类型以及发送者上下文 Intent intent = new Intent(CurrentActivity.this, TargetActivity.class); // 向 Intent 中加入字符串类型的额外参数 "message" intent.putExtra("key_message", "Hello from CurrentActivity"); // 如果还有其他类型的数据也可以继续添加 intent.putExtra("another_key", value); ``` #### 在接收端获取递过来的信息 为了读取这些被递来的参数,在目标 Activity 的 `onCreate(Bundle savedInstanceState)` 方法内可以从入的 `Intent` 获取到之前设置好的键对应的值: ```java @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // 初始化界面布局... // 从启动此 Activity 的 Intent 取得 Bundle 数据包 Bundle extras = getIntent().getExtras(); if (extras != null){ String message = extras.getString("key_message"); // 处理接收到的消息或其他数据... } } ``` 上述过程展示了完整的通过 `Intent` 进行跨 Activity 参数输的方式[^1]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值