> Inside a view, apparently we can't get a reference to the Activity > that contains us (the view), and even if there is a way to get the > reference, we can't probably call it directly, due to UI threading > issues.
You do have access to the Activity. It's actually the Context that gets passed into the view constructor. You'll just have to cast it to Activity. > How do we get the reference to the Handler defined inside our > Activity, to be able to call myHandler.sendMessage(...) ? You mean within your view class, you want access to the handler? I don't see how you'd need it. I might be wrong, but you should already be in the UI thread so a handler shouldn't be needed. On Apr 7, 10:54 pm, Rui Martins <[EMAIL PROTECTED]> wrote: > Another Example: > How do we call our activity finish method, from our activity view > class ? > > Inside an Activity context, we can just call finish(); > > Inside a view, apparently we can't get a reference to the Activity > that contains us (the view), and even if there is a way to get the > reference, we can't probably call it directly, due to UI threading > issues. > > So, do we send a message ? How ? > > How do we get the reference to the Handler defined inside our > Activity, to be able to call myHandler.sendMessage(...) ? > > I think the UI handling code is complex and cumbersome to work with. > > I agree that probably should use messaging, since this helps to > decouple the several application parts, but the current API, is not > very helpful, in making the common message usage simple. > > Any help on this would be great too. > > Thanks > > On 8 abr, 06:22, Rui Martins <[EMAIL PROTECTED]> wrote: > > > I have been programming for android since January, and I must say, > > that I still don't get how the communication between Views and > > Activities is accomplished successfully. > > > The whole design on this communication is "fuzzy" at least for me. > > > NOTE: using M3 currenlty. > > > Examples: > > Activities can have menus, creating when onCreateOptionsMenu( Menu > > menu ) is called > > Later we can get the menu selection by implementing > > onOptionsItemSelected( Menu.Item item ). > > > So, inside and Activity, we have access to user actions/input in the > > form of a menu, and hence we can react to it, for example, by > > launching another activity (typical usage). > > > This works, because we are in the context of the activity. > > > NOTE: This is what I'm using now, so that I could keep on developing > > until I find a solution to my problem (next). > > > Now if, you look at the View object, it's the only one to have user > > input handlers, like: > > onMotionEvent( MotionEvent event ) ( or onTouchEvent for M5), and > > onKeyDown( int keyCode, KeyEvent event ) ! > > An Activity doesn't have those ! > > > So, how can we handle user input, and react accordingly ? > > > If we call intent.startActivity() from within a View , we get an > > "Application Error", with the following description: > > > "An error has occurred in process XXX > > calling startActivity() from outside of an Activity context requires > > the NEW_TASK_LAUNCH flag. > > is this really what you want ?" > > > The explanation, stating that a flag is required is fine ! > > But how am I to know the answer to the question ? ("is this really > > what you want ?") > > >http://code.google.com/android/reference/android/content/Intent.html#... > > > If I force the Flag, I will enter into further configuration problems > > or limitations, due to how we MUST setup the Activity launchMode > > (http://code.google.com/android/reference/android/ > > R.attr.html#launchMode) > > > Which means, that I will have several simultaneous tasks for every > > menu option, which is not what was wanted. I can possibly set my > > lauchMode to "singleTask", but "is this really what I want ?" > > > I'm just trying to do a simple common thing, react to user input by > > launching a specific "sub" activity of the application, like in a menu > > kind of way. > > > I know that there is the concept of subActivity in M5, that probably > > helps (not sure though), but this should be easy to do, even in M3 and > > apparently it's not ! > > > Either I'm missing something, or I haven't still got it, how this is > > supposed to work. > > And having Documentation only for M5 stuff, doesn't help much either. > > > Enlightnment on this subject and the View/Activity communcation/user > > input duality would be real nice. > > > I needed this to work to finish my Contest entry! :( > > > Or else I have to keep using the general Menu, instead of my game > > Menu, which doesn't quite cut it for a game application. > > > NOTE: > > I'm trying NOT to break the rest of my app, by Porting the remaining > > stuff to M5. > > I have an early version that I had ported to M5, but I went back due > > to some stuff not working on M5, so not really an option. > > I also don't expect a new SDK Release now so close to the contest > > deadline, which could fix a lot of things, but could also bring a > > whole lot of new bugs too. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Android Developers" group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] Announcing the new M5 SDK! http://android-developers.blogspot.com/2008/02/android-sdk-m5-rc14-now-available.html For more options, visit this group at http://groups.google.com/group/android-developers?hl=en -~----------~----~----~----~------~----~------~--~---