intent传参 之 Bitmap

本文详细介绍了如何在ListView的单击事件中获取并传递Bitmap到详情页面,包括正确获取Bitmap的方法及传递过程。

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

要实现一个功能 

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

// ListView的单击事件
@Override
protected void onListItemClick(ListView l, View v, int position, long id) {
super.onListItemClick(l, v, position, id);
//产品图像
ImageView imageView = ((ImageView)layout.findViewById(R.id.product_img));
//Bitmap productImg = imageView.getDrawingCache();//??? 返回null
BitmapDrawable mDrawable =  (BitmapDrawable) imageView.getDrawable();
Bitmap productImg = mDrawable.getBitmap();
//传递
Bitmapintent.putExtra("productImg", productImg);

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

正确的取法是:

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

 

 

### 使用 `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]。
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值