0

我想将多维数组传递给活动

多维数组:

double[][][] speed  = new double[][][]
{
    {
        { 15, 10 },
        { 16, 12 }
    },
    {
        { 14, 50 },
        { 18, 51 }
    }
};

Bundle mBundle = new Bundle();
mBundle.putSerializable("speed", speed);

Intent myIntent = new Intent(getActivity(), LineChart.class);
myIntent.putExtra("speed", mBundle);
startActivity(myIntent);

并在另一个类(线图类)中接收它,我使用:

private double[][][] _speed;

@Override
protected void onCreate(Bundle savedInstanceState)  {
    super.onCreate(savedInstanceState);

    // Get ALL the data!!!
    Bundle extras = getIntent().getExtras();
    if (extras != null) {
        this._speed = extras.getSerializable("speed");
    }

    setContentView(showLineChart());
}

我收到以下错误:

Type mismatch: cannot convert from Serializable to double[][][]

有人可以解释如何做到这一点吗?

4

2 回答 2

2

假设你 AActivity 和 BActivity

在 AActivity 中,声明变量和以下方法:

private static double[][][] doubleVar;  
public static boolean[][][] getDoubleVar()
{
 return doubleVar;
}

现在将值分配给 AActivity 中的 doubleVar。

现在从 BActivity,您可以像这样访问 doubleVar:AActivity.getDoubleVar()

于 2013-05-17T11:57:14.260 回答
0

您必须将其转换为double[][][]

@Override
protected void onCreate(Bundle savedInstanceState)  {
    super.onCreate(savedInstanceState);

    // Get ALL the data!!!
    Bundle extras = getIntent().getExtras();
    if (extras != null) {
        this._speed = (double[][][]) extras.getSerializable("speed");
    }

    setContentView(showLineChart());
}
于 2013-05-17T11:45:45.650 回答