如何在android中使用Intent将一个Activity发送到另一个Activity

时间:2016-03-09 10:16:04

标签: android android-intent

我创建了一个Listview,当我点击列表视图时,我想在详细信息视图活动(另一个活动)中发送该行图像详细信息。

为此,我尝试了下面的代码,但我得到了以下异常

java.lang.Integer cannot be cast to android.os.Parcelable

FirstActivity: -

 // 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);
             }
        });
    }

SecondActivity: -

@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);
    }

2 个答案:

答案 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)

有两种方法:

  1. 从图像的位图获取字节并将其作为字节数组发布在intent中接收并在位图中重新转换它,但在这种情况下活动转换变慢;

  2. 将图像存储在某个地方,然后将其删除,然后将其删除。