Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/206.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何通过Android intent发送opencv Mat列表_Android_Opencv_Android Intent - Fatal编程技术网

如何通过Android intent发送opencv Mat列表

如何通过Android intent发送opencv Mat列表,android,opencv,android-intent,Android,Opencv,Android Intent,我有一个openCV Mat列表,并试图将所有列表从Activity1传递到Activity2,但我不知道如何实现它。我已经看到了这一点,但发送一个接一个的垫子似乎不是一个解决办法 Intent i = new Intent( Activity1.this, Activity2.class ); i.putExtra("someExtra", someExtra); i.putExtra("list", ArrayList<Mat> ); //

我有一个openCV Mat列表,并试图将所有列表从Activity1传递到Activity2,但我不知道如何实现它。我已经看到了这一点,但发送一个接一个的垫子似乎不是一个解决办法

Intent i = new Intent( Activity1.this, Activity2.class );
i.putExtra("someExtra", someExtra);
i.putExtra("list", ArrayList<Mat> ); ///I wan't to do something like that.
startActivity(i);
Activity1.this.finish();


// Activity2
getIntent().getExtra("list");   // get my list

Intent i=新的Intent(Activity1.this,Activity2.class);
i、 putExtra(“someExtra”,someExtra);
i、 putExtra(“列表”,ArrayList)///我不想做那样的事。
星触觉(i);
活动1.this.finish();
//活动2
getIntent().getExtra(“列表”);//拿到我的名单

Make
Mat
类实现可包裹接口

之后,以下代码应起作用:

Intent i = new Intent( Activity1.this, Activity2.class );
i.putExtra("someExtra", someExtra);
i.putExtra("list", ArrayList<Mat> ) 
Intent i=新的Intent(Activity1.this,Activity2.class);
i、 putExtra(“someExtra”,someExtra);
i、 putExtra(“列表”,ArrayList)
要获取数据,请使用:

 ArrayList<String> myList = (ArrayList<String>) getIntent().getSerializableExtra("list");
ArrayList myList=(ArrayList)getIntent().getSerializableExtra(“列表”);

Make
Mat
类实现可包裹接口

之后,以下代码应起作用:

Intent i = new Intent( Activity1.this, Activity2.class );
i.putExtra("someExtra", someExtra);
i.putExtra("list", ArrayList<Mat> ) 
Intent i=新的Intent(Activity1.this,Activity2.class);
i、 putExtra(“someExtra”,someExtra);
i、 putExtra(“列表”,ArrayList)
要获取数据,请使用:

 ArrayList<String> myList = (ArrayList<String>) getIntent().getSerializableExtra("list");
ArrayList myList=(ArrayList)getIntent().getSerializableExtra(“列表”);

您需要发送组成Mat对象的基本对象,并在另一侧重建Mat

我自己并没有这样做,但看看javadoc,有几个选项:

可以使用本机地址和地址构造函数。i、 e:

&

在每个Mat(一个
Int
)上使用
getNativeObjAddr
,并在
Intent
中存储一个
列表。然后在另一端,使用
Mat(Int)
构造函数重新创建
列表


如果这不起作用,请查看如何创建
Mat
对象,如果使用
字节[]
,请再次尝试按意图发送该对象。

您需要发送组成Mat对象的基本对象,并在另一侧重建Mat

我自己并没有这样做,但看看javadoc,有几个选项:

可以使用本机地址和地址构造函数。i、 e:

&

在每个Mat(一个
Int
)上使用
getNativeObjAddr
,并在
Intent
中存储一个
列表。然后在另一端,使用
Mat(Int)
构造函数重新创建
列表


如果这不起作用,请查看如何创建
Mat
对象,如果使用
byte[]
,请再次尝试按意图发送该对象。

Mat不是我的类,因此我需要创建一个MatParcelable类并从Mat扩展,并使用“natifObj”作为我的属性?但是“natifObj”是finalMat不是我的类,所以我需要创建一个MatParcelable类并从Mat扩展,并使用“natifObj”作为属性?但是“natifObj”是最终使用带有getNativeObjAddr的列表而不是List,它起作用谢谢我使用带有getNativeObjAddr的列表而不是List,它起作用谢谢