onClickListener for tabs in TabActivity

Put problem concerning Views, Layouts and other XML-Resources (like AndroidManifest) here.

onClickListener for tabs in TabActivity

Postby mardah » Fri Nov 13, 2009 1:08 pm

Hi

I have a tab activity with 4 tabs. How do I set a onClickListener for the tabs?

The onTabChangeListener only works if I click on the inactive tabs. I would like a callback even if I click the current/active tab.


Any suggestions?

BR
Martin
mardah
Freshman
Freshman
 
Posts: 3
Joined: Fri Nov 13, 2009 1:04 pm

Top

Postby qlimax » Fri Nov 13, 2009 4:34 pm

Hi martin, and welcome :)

some tricks and...
Syntax: [ Download ] [ Hide ]
Using java Syntax Highlighting
  1.        
  2.  
  3.                 mTabHost.setOnTabChangedListener(new OnTabChangeListener() {
  4.  
  5.  
  6.  
  7.                         @Override
  8.  
  9.                         public void onTabChanged(String tabId) {
  10.  
  11.                                 Log.v("", "click");
  12.  
  13.  
  14.  
  15.                                 // getTabHost().getCurrentTabView().setOnClickListener(new
  16.  
  17.                                 // OnClickListener() {
  18.  
  19.                                 //                             
  20.  
  21.                                 // @Override
  22.  
  23.                                 // public void onClick(View v) {
  24.  
  25.                                 // Log.v("", "click");
  26.  
  27.                                 //                                     
  28.  
  29.                                 // }
  30.  
  31.                                 // });
  32.  
  33.  
  34.  
  35.                                 // this overrides the default clicklistener, causing no more tab
  36.  
  37.                                 // changes...
  38.  
  39.  
  40.  
  41.                                 getTabHost().getCurrentTabView().setOnTouchListener(
  42.  
  43.                                                 new OnTouchListener() {
  44.  
  45.  
  46.  
  47.                                                         @Override
  48.  
  49.                                                         public boolean onTouch(View v, MotionEvent event) {
  50.  
  51.  
  52.  
  53.                                                                 if (event.getAction() == MotionEvent.ACTION_DOWN)
  54.  
  55.                                                                         Log.v("", "touch");
  56.  
  57.  
  58.  
  59.                                                                 return false; // returning false seems do the
  60.  
  61.                                                                                                 // trick <img src="http://www.anddev.org/images/smilies/smile.png" alt=":)" title="Smile" />
  62.  
  63.                                                         }
  64.  
  65.                                                 });
  66.  
  67.  
  68.  
  69.                         }
  70.  
  71.                 });
  72.  
  73.  
  74.  
  75.                 mTabHost.setCurrentTab(0);//optional
Parsed in 0.035 seconds, using GeSHi 1.0.8.4


yes it's not a true click... but... :roll:

bye :run:
¯`·.¸¸.><((((º>¯`·.¸¸. ><((((º>
User avatar
qlimax
Master Developer
Master Developer
 
Posts: 271
Joined: Mon Aug 31, 2009 10:54 am
Location: Swiss

Postby mardah » Sat Nov 14, 2009 1:15 pm

Thank you, that worked!

Any clue how to reload the current tab when clicked? Right now I set the current tab to one of the inactive tabs and then back to the current tab. It works but doesn't look pretty.

Syntax: [ Download ] [ Hide ]
Using java Syntax Highlighting
  1. if (event.getAction() == MotionEvent.ACTION_DOWN) {
  2.  
  3.                                  if (getTabHost().getCurrentTabTag() == "more") {
  4.  
  5.                                          getTabHost().setCurrentTabByTag("top_news");
  6.  
  7.                                          getTabHost().setCurrentTabByTag("more");
  8.  
  9.                                  }
  10.  
  11.                              }
Parsed in 0.032 seconds, using GeSHi 1.0.8.4
mardah
Freshman
Freshman
 
Posts: 3
Joined: Fri Nov 13, 2009 1:04 pm

Top

Return to View, Layout & Resource Problems

Who is online

Users browsing this forum: No registered users and 5 guests