java - How to pass data 1st activity to 2nd and 2nd activity to 3rd
问题描述
NOTE: I know how to pass data Activity1 to Activity2 Using Bundle and PutExtra
.
I refer this below links :
QUESTION
I've 3 activitys, Activity1, Activity2 and Activity3
In Activity 1 i have data. When i click on data Activity2 is started.
In Activity2 I've Textview. when i click on textView then open Activity3
In Activity3 i have EditText
So i want to pass data Activity1 TO Activity2 AND Activity2 TO Activity3
Activity1 code:
private OnItemClickListener listener = new OnItemClickListener() {
@Override
public void onItemClick(Base item) {
Company company = (Company) item;
Intent intent = new Intent(getActivity(), CompanyDetailActivity.class);
//intent.putExtra("company", company);
//intent.putExtra("edit", "editFrag");
intent.putExtra("company", item);
startActivity(intent);
Log.e("Item...","Item clicked "+company.getName());
}
};
Activity2 code:
case R.id.rlCompanyProfile:
//Base item = null;
Company company = (Company) getIntent().getExtras().getSerializable("company") ;
Intent intent = new Intent(this, AddCompanyActivity.class);
intent.putExtra("company", company);
//intent.putExtra("company", myData);
intent.putExtra("edit", "editFrag");
startActivity(intent);
break;
Activity3 code:
Intent extras1 = getIntent();
{
Company value = (Company) extras1.getSerializableExtra("company");
etCompanyName.setText(value.getName());
etWebsite.setText(value.getWebsite());
etEmail.setText(value.getEmail());
etPhoneHome.setText(value.getPhoneHome());
etPhonePrimary.setText(value.getPhonePrimary());
etAddressLine1.setText(value.getAddressLine1());
etAddressLine2.setText(value.getAddressLine2());
etCity.setText(value.getCity());
etZip.setText(value.getZipcode());
}
解决方案
The problem is in Here Activity2 code check it
You are passing item = null
Activity2 code:
case R.id.rlCompanyProfile:
Base item = null; // item object is null here
Company company = (Company) item ;// here you are passing null item object of your Company class
Intent intent = new Intent(this, AddCompanyActivity.class);
intent.putExtra("company", item);
intent.putExtra("edit", "editFrag");
startActivity(intent);
break;
EDIT
to send data to Activity use this
intent.putExtra("company", company);
To receive data in third activity use this
Company company=intent.getSerializableExtra("company");