eyalb
eyalb

Reputation: 3022

How to call a method from one tab to another?

i have a tabActivity that hold 3 tabs. from one tab i want to open another tab and run a method that refresh the data.

i use this method to switch tabs

public void switchTabInActivity(int indexTabToSwitchTo) {
        MyTabsActivity ParentActivity;
        ParentActivity = (MyTabsActivity) this.getParent();
        ParentActivity.switchTab(indexTabToSwitchTo);
    }

to open the tab but i cant' call the method.

any ideas?

Upvotes: 0

Views: 1269

Answers (2)

Andro Selva
Andro Selva

Reputation: 54322

According to me, I believe what you are doing here is correct, but still you are not doing the entire flow. Let me explain,

Calling the above method will redirect you to that particular tab. But what you actually have to do is to execute some method in that class. But were are you calling that method.

Consider a Activity with onCreate(),

you could have called that method in your onCreate(). But now when you execute your

public void switchTabInActivity(int indexTabToSwitchTo) {
        MyTabsActivity ParentActivity;
        ParentActivity = (MyTabsActivity) this.getParent();
        ParentActivity.switchTab(indexTabToSwitchTo);
    }

method, this will call the onResume() of that activity. So my suggestion would be to override the onResume method of your particular activity which has that method..

Upvotes: 2

Lucifer
Lucifer

Reputation: 29642

you can simply create a static method which can be easily call by using ClassName.methodName();

see example,

public class myAnotherClass
{
      public static void accessFromAnotherClass()
      {
        System.out.println ( "I am accessed publically" );
      }
}


// Now Accessing above class method from another class file

public class myFirstClass
{
      private void myClassMethod()
      {
          myAnotherClass.accessFromAnotherClass();  // called from another class. in your case , another tab.
      }
}

Upvotes: 0

Related Questions