Android 意图调用的活动的对象是什么
我想知道当我出于某种目的开始某项活动时,它的对象是什么 这意味着:如何调用活动的对象。或者是我搞错了什么,一个活动被一个对象表示了吗 示例:在MainActivity中,我执行以下操作:Android 意图调用的活动的对象是什么,android,class,android-intent,Android,Class,Android Intent,我想知道当我出于某种目的开始某项活动时,它的对象是什么 这意味着:如何调用活动的对象。或者是我搞错了什么,一个活动被一个对象表示了吗 示例:在MainActivity中,我执行以下操作: ShowExampleScreen = new Intent(MainActivity.this, ExampleClass.class); startActivity(ShowExampleScreen); public class ExampleClass{ oncreate( Stuff in
ShowExampleScreen = new Intent(MainActivity.this, ExampleClass.class);
startActivity(ShowExampleScreen);
public class ExampleClass{
oncreate( Stuff in on create)
public void myFunction(){ my stuff}
}
如何在其他类中使用myFunc而不声明其为静态?
如何获取由意图启动的活动对象?在Android中,这是活动生命周期的工作方式: 我建议你先把基本原理弄清楚 根据指导原则,您不应从另一个活动调用一个活动的方法
但是,您可以使用
startActivityForResult
。ie您可以启动活动并返回结果。对于实现有多种方法,下面是我使用的几种方法:
- 从另一个类/方法: 只需将活动作为参数传递,因为您需要最新的活动对象,所以不希望将其存储在某个地方,一旦活动被销毁,它可能会变为null
- 从其他类中非常深入的方法:
我并不建议这样做,但我有时会这样做,只需在活动本身中创建活动的静态对象,并确保每次更新活动时都分配它,比如在onResume方法或onCreate中
public static Activity app; //in your Activity as a field (instance variable) @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); app = this; }
- 从片段中: MyActivity app=(MyActivity)getActivity()//getActivity()是一个片段方法