2012-04-21 49 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