写完了,其实在两个activity并没有什么明显的变化,只是需要把我们需要传递的类实现序列化和反序列化,我还是贴代码吧
package com.example.jumpwithparcelable;
import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
public class MainActivity extends Activity {
Button btu;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//初始化button对象
btu=(Button) findViewById(R.id.btn_jum);
//为button对象设置监听
btu.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
Intent intent=new Intent(MainActivity.this,SecondActivity.class );
Animal a=new Animal("dog");
intent.putExtra("key",a);
startActivity(intent);
}
});
}
}
package com.example.jumpwithparcelable;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.os.Parcelable;
import android.widget.TextView;
public class SecondActivity extends Activity {
TextView tv;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.second);
tv=(TextView) findViewById(R.id.tv);
Intent intent=getIntent();
//得到的对象为Parcelable,可以通过instanceof来判断是否属于Animal
Parcelable p=intent.getParcelableExtra("key");
tv.setText(p.toString());
}
}