2014-10-20 64 views
-3

我是一個問題,我沒有辦法解決它(我已經嘗試過所有)。 我做了Parcelable類來發送意圖數組對象。在第一個活動中,我發送這個對象數組。在第二項活動中,我發送了一個整體,然後我參加了第三項活動。 事實證明,它捕獲整體時給我一個錯誤,沒有任何應用程序打開,你不明白關閉,因爲我得到的錯誤是第三個沒有這樣做的活動。如果我評論這條線來完成整個活動,請不要誤會我的意思,而且我還會很好地向對象傳遞數組。但我也需要整個第二項活動。 讓代碼看看你的想法。錯誤獲取數據與意圖

發送ob的數組。第一活動

> //creamos el intent y le pasamos la clase a mostrar 
      Intent i = new Intent(this, MainActivity.class); 
      Bundle contenedor= new Bundle(); 

      //le cargamos al bundle un objeto parceable que se almacenara 
      //bajo la key "array" y contendrá nuestra lista 
      contenedor.putParcelable("array",lista_musica); 
      //cargamos el intent con el bundle 
      i.putExtras(contenedor); 
      //lanzamos el intent 
      startActivity(i); 

發送整個第二活動

意圖II =新意圖(Generos.this,MainActivity.class);

ii.putExtra(「sentGeneroId」,generoId);

startActivity(ii);

從第三活動

Bundle b = getIntent().getExtras(); 
if (b != null) { 

lista_musica = b.getParcelable("array"); generoId = (Integer) b.get("sentGeneroId"); }

Log.i("mi error","el generoID: "+generoId); 

Log.i("mi error","el ARRAY del main: "+lista_musica); 

如我的所述前面提到的線

generoId =(整數)的Parcelable類不認爲這種錯誤,收集數據b.get(「sentGeneroId」);

不會給我的錯誤,並正確地發送給我的對象數組。我已經嘗試了一切。我設法不給我留下錯誤,不注意那行,但第三行中的數組總是空,但不再是我做的............. 如果有人有更多我知道那失敗了。 謝謝。

回答

1

試試這種方式,希望這會幫助你解決你的問題。

在你SecondActivity傳遞generoId爲字符串出側捆綁所以你直接從意向,而不是意向捆綁得到這個值。

generoId = Integer.parseInt(getIntent().getStringExtra("sentGeneroId")); 
+0

感謝您的回答。但同樣的錯誤不斷出現。我不得不說,在創建第一個活動的代碼之前,整個運輸都正確地做了我。當您創建發送對象數組時,會出現問題。 看來,這兩個不能在一起。如果我只發送對象數組,它會發揮作用。如果我只發送整個第二個活動也很好。但如果我想發送這兩個,我得到這個錯誤........... 我很絕望。 – nachito777sk 2014-10-21 08:13:17

0

似乎是第一個Activity在發送對象數組時自動開始從第三個Activity接收數據。當然,沒有收到整體,直到第二個活動沒有發出。將它標記爲錯誤,試圖獲得某些東西而沒有。 我試着將第一個數組發送給第二個Activity,它的作用是啓動第二個Activity,繞過第一個數組。 到目前爲止我還沒有發現這個問題..........