我现在有这个问题:java.lang.RuntimeException:Parcelable遇到IOException,正在编写可序列化的对象..类Filho实现了可序列化。怎么解决?

public View getView(int position, View view, ViewGroup parent)
{
    final Filho filhoPosition = this.listaFilhos.get(position);
    view = LayoutInflater.from(this.context).inflate(R.layout.lista_filho,null);

    TextView textViewNomeFilho = (TextView) view.findViewById(R.id.textViewNomeFilho);
    TextView textViewTelefoneFilho = (TextView) view.findViewById(R.id.textViewTelefoneFilho);
    ImageView imageViewFotoFilho = (ImageView)  view.findViewById(R.id.imageViewFotoFilho);

    textViewNomeFilho.setText(filhoPosition.getNome());
    textViewTelefoneFilho.setText(filhoPosition.getTelefone());
    imageViewFotoFilho.setImageBitmap(filhoPosition.getFoto());

    final ImageButton imageButtonConfigFilho = (ImageButton) view.findViewById(R.id.imageButtonConfigFilho);
    imageButtonConfigFilho.setOnClickListener(new View.OnClickListener(){
        @Override
        public void onClick(View v){

            filho = new Filho(filhoPosition.getIdFilho(),filhoPosition.getNome(),filhoPosition.getTelefone(),filhoPosition.getFoto(),filhoPosition.getLoginConfig());

            Intent it = new Intent(context, CadastrarFilhoActivity.class);
            it.putExtra("filho",filho);
            context.startActivity(it);
        }
    });
    return view;
}

最佳答案

使Filho类实现Serializable这是一个常见问题

那是去Filho类并实现Serializable

public class Filho class implements Serializable


编辑

使用这样的意图,您正在使用putExtra()

Intent it = new Intent(context, CadastrarFilhoActivity.class);
Bundle bundle = new Bundle();
bundle.putSerializable("filho",filho);
it.putExtras(bundle);


并通过CadastrarFilhoActivity.class

Intent intent = this.getIntent();
Bundle bundle = intent.getExtras();
Filho filho=(Filho)bundle.getSerializable("filho");

10-06 13:11