2014-10-20 59 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,绕过第一个数组。 到目前为止我还没有发现这个问题..........