Similar problem but this doesn't work. Following steps exists in my
apps and still not able to send data part of Intent (putExtras) from
one activity to another:

- Activity A is of type ListActivity showing some buttons.
- Any button click shows a Login screen (AlertDialog).
- onCreateDialog is implemented and I have two buttons on the
AlertDialog, Ok & Cancel, both having listener for onClick event. I
realize that if I try to start activity within onClick event of OK
BUTTON, the activity wont start.
- So I implemented onDismissListener and started activity from here.
- Now I call Activity B and passing new Intent where I have put extra
(Parcelable object)

In activity B the parcelable object comes empty... No info in it.

Code below:

Activity A (HomeActivity)

 
@Override
                                public void onDismiss(DialogInterface dialog) {
                                        try{
                                                HomeActivity home = 
(HomeActivity)
((AlertDialog)dialog).getOwnerActivity();
                                                Intent oldIntent = 
home.getIntent();
                                                oldIntent.setClass(home, 
ServiceListActivity.class);
                                                
home.startActivityForResult(oldIntent,0);
                                        }catch(Exception e){
                                                
Toast.makeText(HomeActivity.this, R.string.error_occured,
Toast.LENGTH_LONG).show();
                                        }
                                }

Activity B (ServiceListActivity)

public void onCreate(Bundle savedInstanceState){
                try{
                        super.onCreate(savedInstanceState);
                        setContentView(R.layout.middle_man);
                        Intent i = super.getIntent();
                        Bundle b = i.getExtras();
                        Iterator<String> iterator = b.keySet().iterator();
                        Services a = null;
                        while(iterator.hasNext()){
                                a = (Services)b.getParcelable(iterator.next());
                        }
                        Services s = 
(Services)b.get(ServicesConstants.SERVICE_SELECTED);
...
...

Both 'a' and 's' comes null. They are type object "Services" which is
Parceable in nature.

Regards,
Arpit


On Apr 20, 1:50 am, "~ TreKing" <[email protected]> wrote:
> On Mon, Apr 19, 2010 at 1:24 AM, Ke Wu <[email protected]> wrote:
> > I dont know what the Intent exactly do when I use putExtra to pass in an
> > ArrayList<MyClass> object.
>
> Did you read the documentation on Intents? Specifically 
> this:http://developer.android.com/intl/fr/reference/android/content/Intent...,
> java.util.ArrayList<? extends android.os.Parcelable>)
>
> > I guess MyClass need to implement Parcelable interface, so I just did it.
> > But still, it does not work.
>
> You guess right. If it does not work, you should explain what doesn't work.
> Just saying "it does not work" is useless to someone trying to help you.
>
> > Maybe I need to create a Bundle and then use Bundle' putParcelableArrayList
> > method to put my ArrayList<MyClass> object in, and then pass this bundle as
> > parameter of putExtra to the intent.
>
> No.
>
> > So crazy!
>
> Not really!
>
> > I am lazy
>
> Then you should not being doing Android development ... or any kind of
> programming for that matter.
>
> > , I just want to pass an ArrayList<MyClass> object simply, is there a
> > simple way??
>
> >  Any suggestion would be greatly appreciated!
>
> See the link I posted.
>
> On Mon, Apr 19, 2010 at 3:23 AM, Kumar Bibek <[email protected]> wrote:
> > However, a cheap workaround would be to have this arraylist as a static
> > variable of your source activity. This way, you can access this Array List
> > from your destination activity
>
> Except that by doing this, you have to make sure the list is actually valid.
> If you start Activity A, fill the list, start Activity B, press Home, wait a
> while, come back to your app, your app may have been killed since you
> started it, the list will be empty, but you will be back in Activity B. If
> you don't validate that list and save and restore it somehow, you will run
> into trouble trying to access the empty (or null) list.
>
> ---------------------------------------------------------------------------­----------------------
> TreKing - Chicago transit tracking app for Android-powered 
> deviceshttp://sites.google.com/site/rezmobileapps/treking
>
> --
> You received this message because you are subscribed to the Google
> Groups "Android Developers" group.
> To post to this group, send email to [email protected]
> To unsubscribe from this group, send email to
> [email protected]
> For more options, visit this group 
> athttp://groups.google.com/group/android-developers?hl=en

-- 
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en

Reply via email to