How to access instance variable and method in main activity from other activity?
本问题已经有最佳答案,请猛点这里访问。
Possible Duplicate:
Android: How to declare global variables?
我想从其他活动访问主活动中的公共实例变量。我想在主活动中调用公共方法。我该怎么做?
1 2 3 4 5 6 7 8 9 10 11 12 | class MainActivity extends Activity { public int i; public void myMethod() {} } class MyActivity extends Activity { public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // How can I access variable i in MainActivity? // And How can I call myMethod() in MainActivity? } } |
你可以在
不建议这样做,因为系统可能随时回收您的活动类。
使用首选项来存储变量,或者简化:创建自己的应用程序类。这一个在整个应用程序生命周期中都是可用的,并且您可以在其中存储静态变量。
试试这个
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | class MainActivity extends Activity { public int i; void startNewA() { Intent i = new Intent(getApplicationContext(), MyActivity.class); i.putExtra("var_name", i); startNewActivity(i); } } class MyActivity extends Activity { public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); int i = getIntent().getIntExtra("var_name", -1); } } |
这可能有助于您:如何在Android中声明全局变量?
您可以使用应用程序、共享引用或静态变量的子类。
当您想在多个活动中获取和设置相同的变量时,也可以使用引用。