I want to call public method in main activity from other activity. How can I do that?
class MainActivity extends Activity {
public void myMethod() {}
}
Make it static, pass in the activity, instantiate, or better yet rethink design approach? I don't think you should be calling a method in another activity from your main activity - might be better to make a new class?
Static Code:
class MainActivity extends Activity
{
public void myMethod()
{
MyActivity.runMyMethod();
}
}
class MyActivity extends Activity
{
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
}
public static void runMyMethod()
{
//Run code...
}
}
Instantiate Activity:
class MainActivity extends Activity
{
public void myMethod()
{
MyActivity myActivity = new MyActivity();
myActivity.runMyMethod();
}
}
class MyActivity extends Activity
{
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
}
public void runMyMethod()
{
//Run code...
}
}
Pass Activity Reference:
class MainActivity extends Activity
{
public void onCreate(Bundle savedInstanceState)
{
OtherActivity otherActivity = new OtherActivity(this);
}
public void yourMethod()
{
}
}
class OtherActivity extends Activity
{
MainActivity mainRefrence;
OtherActivity(MainActivity main)
{
mainRefrence = main;
}
public void onCreate()
{
mainRefrence.yourMethod();
}
}