1

我不能在两个活动之间传递整数矩阵。这是代码:

  • 活动一:

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

  • 活动 B:

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

2 回答 2

8

有一种简单的方法可以通过意图传递矩阵。

活动一:

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);
于 2014-05-29T08:37:44.577 回答
0

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

把Parceble

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");

** 使用链接编辑::: **

LINK1包含示例代码

链接2

链接3

于 2012-04-21T07:35:06.233 回答