首页 > 解决方案 > 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());
                    }

标签: javaandroidandroid-intent

解决方案


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");

推荐阅读