我创建了一个Listview
,当我点击列表视图时,我想在详细信息视图活动(另一个活动)中发送该行图像详细信息。
为此,我尝试了下面的代码,但我得到了以下异常
java.lang.Integer cannot be cast to android.os.Parcelable
// Listen for ListView Item Click
view.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// Send single item click data to SingleItemView Class
Intent intent = new Intent(mContext, SingleItemView.class);
intent.putExtra("imageId",(worldpopulationlist.get(position).getImageId()));
mContext.startActivity(intent);
}
});
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.singleitemview);
// Retrieve data from MainActivity on item click event
Intent i = getIntent();
// Get the results of imageView
Bitmap bmp = (Bitmap) i.getParcelableExtra("imageId");
srcimage = (ImageView)findViewById(R.id.imageId);
srcimage.setImageBitmap(bmp);
}
答案 0 :(得分:0)
试试这个。因为你在FirstActivity中传递了一个整数值
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.singleitemview);
Intent i = getIntent();
int yourImageId = i.getIntExtra("imageId"); <----
}
答案 1 :(得分:-1)
有两种方法:
从图像的位图获取字节并将其作为字节数组发布在intent中接收并在位图中重新转换它,但在这种情况下活动转换变慢;
将图像存储在某个地方,然后将其删除,然后将其删除。