什么是Intent

时间:2016-02-13 00:35:38

标签: android class android-intent

我想知道当我通过Intent启动时,活动的对象是什么。

这意味着:我如何调用活动Activity的Object。或者我得到了什么错误,一个活动是由一个对象代表的?

示例:在MainActivity中我执行:

ShowExampleScreen = new Intent(MainActivity.this, ExampleClass.class);
startActivity(ShowExampleScreen);

public class ExampleClass{

    oncreate( Stuff in on create)

    public void myFunction(){ my stuff} 
}

如何在不声明静态的情况下在其他类中使用myFunc? 我怎样才能获得由Intent启动的Activity的对象?

2 个答案:

答案 0 :(得分:0)

在Android中,这就是Activity生命周期的工作方式: enter image description here

我建议你先开始reading from here清除基础知识。

根据指南,你不应该从另一个

调用一个Activity的方法

但是,您可以使用startActivityForResult。即您可以启动活动并获取结果。 See this用于实施

答案 1 :(得分:0)

有多种方法可以实现,以下是我使用的几种方法:

  • 来自另一个班级/方法:

    只需将Activity作为参数传递,因为您需要最新的活动对象,所以您不希望将其存储在活动被销毁后可能变为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()是一个Fragment方法。