嗨,我有一个像人的详细信息的要求,我有像个人,教育,工作一样的多个细节,在第一个活动我输入个人详细信息,然后教育,然后一个接一个这样的工作,我如何才能保持在单一对象和通过应用程序的所有细节,请帮助我。

发布于 2014-10-15 14:08:31
请注意,您需要在Intent中绑定一个对象,该对象必须实现Parcelable接口。下面是取自Parcelable documentation的一个常见实现...
public class MyParcelable implements Parcelable {
private int mData;
public int describeContents() {
return 0;
}
public void writeToParcel(Parcel out, int flags) {
out.writeInt(mData);
}
public static final Parcelable.Creator<MyParcelable> CREATOR
= new Parcelable.Creator<MyParcelable>() {
public MyParcelable createFromParcel(Parcel in) {
return new MyParcelable(in);
}
public MyParcelable[] newArray(int size) {
return new MyParcelable[size];
}
};
private MyParcelable(Parcel in) {
mData = in.readInt();
}
}完成后,只需在Intent中传递对象即可。
Intent i = new Intent(getApplicationContext(), ACTIVITY_TO_START.class);
i.putExtra("extra_key", new MyParcelable());
startActivity(i);要检索启动活动的对象...
Bundle extras = getIntent().getExtras();
if(extras != null && extras.containsKey("extra_key"))
{
MyParcelable p = (MyParecelable)extras.getParcelable("extra_key");
}发布于 2014-10-15 14:32:04
简单的解决方案:使用此的意图
Personal.class
public class Personal extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.personal);
Intent i = new Intent(getApplicationContext(), Educational.class);
i.putExtra("personal_details",<-get data from object->);
startActivity(i);
}
}Educational.class
public class Personal extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.personal);
String personal_details;
Bundle extras = getIntent().getExtras();
if (extras != null) {
personal_details= extras.getString("personal_details");
}
Intent i = new Intent(getApplicationContext(), educational.class);
i.putExtra("personal_details",personal_details);
i.putExtra("educational_details",<-get data from object->);
startActivity(i);
}
}Job.class
public class Personal extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.personal);
String personal_details,educational_details;
Bundle extras = getIntent().getExtras();
if (extras != null) {
personal_details= extras.getString("personal_details");
educational_details= extras.getString("educational_details");
}
Intent i = new Intent(getApplicationContext(), FinalResult.class);
i.putExtra("personal_details",personal_details);
i.putExtra("educational_details",educational_details);
i.putExtra("job_details",<-get data from object->);
startActivity(i);
}
}FinalResult.class
public class Personal extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.personal);
String personal_details,educational_details,job_details;
Bundle extras = getIntent().getExtras();
if (extras != null) {
personal_details= extras.getString("personal_details");
educational_details= extras.getString("educational_details");
job_details= extras.getString("job_details");
}
}
}{编辑-1}
看一下我在
application variable或shared preferences实现它,但我不推荐它。!中
{编辑-2}
嗯,如果我正确理解了您的问题::您已连接到互联网(无线、有线、...等)基本上,当没有网络连接时,您正在尝试显示一个对话框!你可以借助Broadcast receivers ..。
尝试此命令::将广播接收器设置为在没有网络连接时触发意图...编写代码来捕获该意图并弹出dialog ...在此对话框中,为用户提供重新连接连接的选项!
https://stackoverflow.com/questions/26375490
复制相似问题