AndroidRuntime error: Paquete: incapaz de marshal valor
Estoy intentando pasar un HashMap a una nueva actividad usando la función de intento.puExtra. Pasando por el depurador parece que agrega el HashMap ningún problema, sin embargo cuando startActivty () se llama Tengo un error de ejecución que indica que el paquete: incapaz de marshal valor com.appName.Liquor.
Licor es una clase personalizada que he creado, y creo que, en combinación con un HashMap, está causando el problema. Si paso una cadena en lugar de mi HashMap carga la siguiente actividad sin problema.
- NDK no encuentra las bibliotecas estándar de C ++
- ¿Cómo evitar que el diseño se restablezca cuando cambia la orientación de la pantalla?
- Uso de OAuth con Scribe en Android
- Cómo crear una cuadrícula de 10x10 en Android?
- Analizar HTML en Android
Actividad principal
lv.setOnItemClickListener(new OnItemClickListener() { public void onItemClick(AdapterView<?> parent, View view, int position, long id) { String cat = ((TextView) view).getText().toString(); Intent i = new Intent(OhioLiquor.this, Category.class); i.putExtra("com.appName.cat", _liquorBase.GetMap()); startActivity(i);
Clase de Licor
public class Liquor { public String name; public int code; public String category; private HashMap<String, Bottle> _bottles; public Liquor() { _bottles = new HashMap<String, Bottle>(); } public void AddBottle(Bottle aBottle) { _bottles.put(aBottle.size, aBottle); } }
Subactividad
public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); HashMap<Integer, Liquor> map = (HashMap<Integer, Liquor>)getIntent().getSerializableExtra("com.appName.cat"); setListAdapter(new ArrayAdapter<String>(this, R.layout.list_item, GetNames(map))); ListView lv = getListView(); lv.setTextFilterEnabled(true);
Cuando el error de tiempo de ejecución existe nunca lo convierte en la clase de actividad secundaria. Así que estoy bastante seguro de que el problema existe en la adición de la HashMap a la intención, y basado en el error Creo que mi clase de licor es la causa, pero no puedo entender por qué.
Su ayuda será muy apreciada. ¡Gracias!
- Android Studio Corrompió el archivo .java después de un apagado incorrecto
- ¿CUÁNDO NO llamar al método super () al reemplazar?
- Utilizar Linkify.addLinks combinar con Html.fromHtml
- ¿Por qué mi método de comparación arroja IllegalArgumentException a veces?
- Es @Singleton en la daga 2 hilo seguro?
- Vaya a la página en epub reader (PageTurner)
- Múltiples super clases y reutilización de código
- Por qué la aplicación lanza un NoSuchMethodError
Su HashMap
sí mismo es serializable pero es la clase de la Bottle
serializable? Si no, no serializará y lanzará errores en tiempo de ejecución. Haga que la clase Bottle
implemente la interfaz java.io.Serializable
- Las compras en la aplicación realizadas a través de códigos promocionales devuelven la cadena de carga útil del desarrollador vacía
- Diferencia entre Dagger y ButterKnife Android