有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

获取有意图的数据时发生java错误

我是一个问题,我觉得没有办法解决它(我都试过了)。 我做了Parcelable类,目的是发送一组对象。在第一个活动中,我发送了这个对象数组。在第二个活动中,我发送了一个完整的,在第三个活动中我接收。 事实证明,在捕获整个过程时,它给了我一个错误,没有任何应用程序打开,你不理解,关闭,因为我得到的错误是第三个未能这样做的活动。如果我在terce中注释这行以获取整个活动,请不要误解我的意思,而且我还可以很好地传递带有对象的数组。但我还需要第二项活动的全部内容。 留下代码看看你怎么想

发送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);

发送整个第二个活动

Intent ii=new Intent(Generos.this,MainActivity.class);

ii.putExtra("sentGeneroId", generoId);

星触觉(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);

Parcelable类不会认为这是错误的,正如我前面提到的行

generoId = (Integer) b.get ("sentGeneroId");

不会给我错误并正确地向我发送对象数组。我什么都试过了。我设法不让我在那一行未注释错误,但第三个活动中的数组总是空的,但不再是空的,或者我做了什么。。。。。。。。。。。。。 你看,如果我认识的视力更好的人失败了。 谢谢


共 (2) 个答案

  1. # 1 楼答案

    试试这个方法,希望这能帮助你解决问题

    在第二个活动中,您将慷慨ID作为Stringout-sideBundle传递,因此直接从Intent而不是Intent Bundle获取该值

    generoId = Integer.parseInt(getIntent().getStringExtra("sentGeneroId"));
    
  2. # 2 楼答案

    似乎第一个活动在发送对象数组时,会自动开始从第三个活动接收数据。当然,在第二次活动之前,没有收到全部信息。将其标记为错误,尝试获取某些内容,而不获取任何内容。 我尝试将第一个数组发送到第二个活动,它所做的是启动第二个活动,绕过第一个。 到目前为止,我还没有发现这个问题