Activity inside TabActivity doesn't work properly

by Edwin » Sat, 19 Feb 2011 18:43:16 GMT


Sponsored Links
 Hi All,

I have an activity named A which has TTS and service functions. It
works well if it is a single activity, but TTS and service are not
working if I put A into a TabActivity. I am not sure which part of the
program has problem. Maybe TabActivity have some effect for the
onActivityResult in A, thus TTS function not work.

Does anybody have idea to solve it?

Thanks

-- 



Re: Activity inside TabActivity doesn't work properly

by Zsolt Vasvari » Sat, 19 Feb 2011 19:54:44 GMT


 There are quite a few things wrong with Activities inside a
TabActivity.  Avoid them at all cost, if you can.  You should be able
to refactor your code to the point where they are not needed.




-- 


Sponsored Links


Re: Re: Activity inside TabActivity doesn't work properly

by Kwok Chun Wing, Edwin » Sat, 19 Feb 2011 23:51:36 GMT


 Should I put the onActivityResult in TabActivity instead of A activity? 
I really need them in the activity but I just want to put the acitivity 
inside a tab, so that I got problem.




There are quite a few things wrong with Activities inside a TabActivity. Avoid them at all cost, if you can. You should be able to refactor your code to the point where they are not needed.
Hi All, I have an activity named A which has TTS and service functions. It works well if it is a single activity, but TTS and service are not working if I put A into a TabActivity. I am not sure which part of the program has problem. Maybe TabActivity have some effect for the onActivityResult in A, thus TTS function not work. Does anybody have idea to solve it? Thanks
--



Re: Re: Activity inside TabActivity doesn't work properly

by Justin Anderson » Sun, 20 Feb 2011 07:50:09 GMT


 I have yet to hear of an example where someone was able to successfully put
activities inside a TabActivity.  Why it is allowed I'm not sure... The most
success comes from having a single activity and having each tab be a
different View...

On Sat, Feb 19, 2011 at 8:51 AM, Kwok Chun Wing, Edwin






-- 



Re: Re: Activity inside TabActivity doesn't work properly

by Dianne Hackborn » Sun, 20 Feb 2011 11:05:03 GMT


 Contacts is implemented like this.  At least it was a while ago, I don't
know if that is still the case.

Still, yes,  embedded activities it pretty cruddy.  One of the goals of
Fragment is to provide a better solution to replace it.

(For some perspective on where embedded activities came from -- early UI
designs for Android were very tab-oriented, and we were looking at tabs as
one of the extension points for applications, allowing the tabs to host
activities from other applications.  Ultimately though the UI moved away
from that, and we thus never implemented the (complicated) support for
cross-process embedded activities and probably never will.  So embedded
activities uses the heavy-weight activity abstraction on the theory that the
activities you host could be in separate processes, when they actually
can't.  Fragments provide a better API because they drop the pretense of
these things being so separate.)










-- 
Dianne Hackborn
Android framework engineer
hack...@android.com

Note: please don't send private questions to me, as I don't have time to
provide private support, and so won't reply to such e-mails.  All such
questions should be posted on public forums, where I and others can see and
answer them.

-- 



Re: Activity inside TabActivity doesn't work properly

by ggjProjects » Fri, 20 May 2011 09:34:05 GMT


 Hi Edwin,

  Try to change:

   voice = new TextToSpeech(*this*, this);

  to: 

   voice = new TextToSpeech(*this.getParent()*, this);

  Hope this helps.

-- 



Other Threads

1. Anyone looking at Cell Broadcast on the G1?

Hello:

Is anyone looking at the Cell Broadcast capability (if any) of the
G1?

Mandatory Wikipedia entry on Cell Broadcast
http://en.wikipedia.org/wiki/Cell_Broadcast

Cell Broadcast Forum

Note: cell broadcast is NOT SMS (text messaging). It is a location-
aware/specific broadcast mechanism built in to most modern GSM phones.
And it is *not* in wide use around the world (yet).


--~--~---------~--~----~------------~-------~--~----~

2. Detect TAB key?

I would like to intercept the tab key in an EditText.  I derived a new
class from EditText and implemented the OnKeyListener interface.  I
look for event.getAction() == KeyEvent.ACTION_DOWN && keyCode ==
KeyEvent.KEYCODE_TAB, but here is what happens:

user presses alt -> action down / keycode alt
user releasees alt -> action up / keycode alt
user presses q -> action down / keycode q
user releases q -> action up / keycode q

So, a tab character is never intercepted by OnKeyListener...yet a tab
will ultimately be deliver to the EditText, so I failed to intercept
it.  Next thing I did was implement my OnKeyListener differently.
Instead of look for key down and keycode tab I look for key down,
event alt pressed, and keycode q, as in:

user pressed alt -> action down / keycode alt
user presses q -> action down / event.altpressed true / keycode q
user releases q
user releases alt

This implementation successfully intercepts an action where the user
presses and holds alt while pressing q, which would ordinarily deliver
a tab to the EditText, so that's great, that worked, I intercepted the
tab.

...but there's two problems with relying on this approach (looking for
key down, alt pressed, and keycode q).  First, it still lets the other
kind of tab through to the EditText and I want to intercept those tabs
too.  Second, I assume there is no guarantee that on other hardware
besides the G1 that the tab will correspond to an alt-q in the first
place, so hard-coding such a test seems inappropriate.

What is the solution to this problem?

Thank you.

Cheers!
--~--~---------~--~----~------------~-------~--~----~

3. Dealing with Microsoft Exchange support

4. Merge file

5. google Calendar API test problem

6. Getting numbers from a single contact

7. How to implement a magnifier like the input method in iPhone ?