【问题标题】:How to send Images one Activity to another Activity using Intent in android如何在android中使用Intent将图像发送到另一个Activity
【发布时间】:2016-03-09 10:16:04
【问题描述】:

我创建了一个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);
    }

【问题讨论】:

  • 你的第一个活动代码我完全错误。您应该将 onListItemClickListener 用于列表项单击事件而不是 onCLickListener
  • 当我发送 textview 数据而不是对另一个活动很好的图像时,这不是问题,并且我在 Listview adapterClass 中编写了 setOnClickListener
  • (worldpopulationlist.get(position).getImageId()) 可能是一个整数值。
  • 是的,没错,就是存储整数数组值,那么如何解决这个问题
  • 您正在正确获取数据,因为您正在传递位置并且这将起作用,但这不是这样做的正确方法

标签: android android-intent


【解决方案1】:

试试这个。因为你在 FirstActivity 中传递了一个整数值

@Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.singleitemview);

        Intent i = getIntent();
        int yourImageId =  i.getIntExtra("imageId"); <----

    }

【讨论】:

  • i.getIntExtra("imageId");显示错误者这一行
  • 是的,因为你必须分配给一些变量或你想要的东西......编辑我的答案
【解决方案2】:

有两种方法:

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

  2. 将图像存储在某处,然后在其他活动中检索它,然后将其删除。

【讨论】:

    猜你喜欢
    • 2013-08-14
    • 2016-10-14
    • 2011-01-09
    • 1970-01-01
    • 2011-10-15
    • 2012-11-03
    • 2015-10-01
    • 1970-01-01
    相关资源
    最近更新 更多