2012-04-21 50 views
1

我无法在两个活动之间传递整数矩阵。这里是代码:传递两个活动之间的值的矩阵

  • 活动答:

    intent.putExtra("matrix_", (Serializable)matrix);

  • 活动B:

    Bundle extras = getIntent().getExtras(); 
    matrix = (int[][]) extras.getSerializable("matrix_"); 
    

希望对您有所帮助。 感谢所有

回答

0

当您创建意图对象时,您可以利用以下两种方法在两个活动之间传递对象。

putParceble

putSerializable

你可以用这个做什么,是有你的类实现无论ParcelableSerializable

然后,您可以通过活动传递自定义班级。我发现这非常有用。

这里是一小段代码,我使用

Matrix matrix = new Matrix(); 
Intent i = new Intent(); 

Bundle b = new Bundle(); 
b.putParcelable("CUSTOM_LISTING", matrix ); 
i.putExtras(b); 
i.setClass(this, NextActivity.class); 
startActivity(i); 

和新开工活动代码会是这样的......

Bundle b = this.getIntent().getExtras(); 
if(b!=null) 
    mCurrentListing = b.getParcelable("CUSTOM_LISTING"); 

**的链接EDITED ::: **

LINK1包括示例代码

LINK2

LINK3

+0

我道歉,因为我仍与编程初学者,我无法理解如何使用您的咨询。我的应用程序在第一个活动中将两个矩阵作为输入并执行乘法。在第二个活动中,从第一个活动中获取乘法的结果并显示它 – bisemanu 2012-04-21 08:45:49

+0

编辑时使用链接查看 – 2012-04-21 12:46:24

+0

似乎不像矩阵。威廉的答案为我工作 – 2014-12-27 10:49:52

5

有通过意图传递矩阵的简单方法。

活动答:

float[] values = new float[9]; 
matrix.getValues(values); 
intent.putExtra("matrix_values", values); 

活动B:

float[] values = getIntent().getFloatArrayExtra("matrix_values"); 
Matrix matrix = new Matrix(); 
matrix.setValues(values); 
+1

这是正确的答案!应该通过!!!! – 2015-10-27 15:29:10