2013-07-16 6 views
0

У меня возникла проблема с Android при передаче 2-го массива в другую активность. У меня нет проблем с отправкой его через дополнительную, как сериализуемую. Но при его получении я получаю следующую ошибку:ClassCastException: java.lang.Object [] не может быть передан в java.lang.String [] []

E/AndroidRuntime (7396): Причина: java.lang.ClassCastException: java.lang.Object [] не может быть передан в java.lang.String [] [ ]

Я использую следующий код:

public void getMatriz(){ 
    Bundle extras = getIntent().getExtras(); 
    if(extras!=null){ 
     String[][] matriz = (String[][]) extras.getSerializable("matriz"); 

    } 

} 

Может кто-то помочь мне решить эту проблему? Спасибо заранее.

+3

Я думаю, что исключение не требует пояснений. Вы не можете передать массив массива в массив. Вам необходимо выполнить ручное преобразование. –

+0

Является ли массив строк 2d очень большим? – arjoan

+0

@ArunAntony Нет, он не очень большой. – user2588434

ответ

0

Вам необходимо десериализовать, чтобы получить массив потоков.

См., Например, следующий фрагмент кода вы можете передать сериализуемым как ObjectInputStream.

ObjectInputStream ois = new ObjectInputStream(is); 
return (String[][]) ois.readObject(); 
+0

Спасибо Minitech за полезные изменения :) –

+0

где есть «есть»? У вас есть комплект и намерение ... –

Смежные вопросы