1

Android アプリケーションのインテントについて質問があります

クラス1に配列があります

double [][] tableCityPair = new double[100][100];

---ここで配列を埋めるコード--- クラスの最後で、別のクラスclass2に tableCityPair を送信したいと考えています。

class2 の配列に対してどのように宣言する必要がありますか?
これは正しいですか?

Intent it = getIntent();
double tabelJarakAntarKota= it.getDoubleExtra("tableCityPair",3);
4

2 に答える 2

1

このクラスには、 s のBundle配列を渡したり取得したりするためのメソッドがあります。double

ただし、これらは 1 次元配列に対して機能します。2D 配列を渡そうとしています。これを行う直接的な方法はわかりません。これを実現する 1 つの方法は、N 個の double の配列をループに入れることです。

for(int i=0;i<tableCityPair.length;i++){
    bundle.put("tableCity"+i, tableCityPair[i]);
}

受信側では、次のことを行います。

double [] aPair = it.getExtras().getDoubleArray("tableCity"+i);

ただし、これがパフォーマンスに与える影響についてはわかりません。バンドルの一部として 100 個のエクストラを追加することになるためです。

より良い方法があるかもしれません (おそらく、ペアを aList<List<Double>>にしてから を実装しますParcelable) が、私はそれを試していないので、お勧めしません。

于 2012-05-29T03:58:51.963 に答える
0
double [][] tableCityPair = new double[100][100];

それから...意図を作る=....それから

put: `it.putExtra("size",tableCityPair.length)`

それから:

    for(i=0;i<tableCitypair.length;i++)
{

it.putExtra("table"+i,tableVityPair[i][]);

}

その後、クラス B で

double [][] tableCityPairinB = new double[100][100];
for(i=0;i<getIntent().getExtras("size");i++)
{
double[i][]=getIntent().getExtras("table"+i);

}
于 2012-05-29T03:43:34.890 に答える