1

2 つのアクティビティ間で整数の行列を渡すことができません。コードは次のとおりです。

  • アクティビティ A:

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

  • アクティビティ B:

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

2 に答える 2

0

インテント オブジェクトを作成する場合、次の 2 つの方法を利用して、2 つのアクティビティ間でオブジェクトを渡すことができます。

putParceble

putSerializable

これでできることは、クラスにParcelableまたはSerializableを実装させることです。

その後、アクティビティ間でカスタム クラスを渡すことができます。これは非常に便利です。

ここに私が使用しているコードの小さなスニペットがあります

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

LINK3

于 2012-04-21T07:35:06.233 に答える