intent和setcontentview之间的区别

sta*_*ack 5 android

在我的主要活动中,将视图作为意图加载还是使用setContentView有区别?

public class MainActivity extends Activity {
  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
  }
}
Run Code Online (Sandbox Code Playgroud)

或者这更好吗?如果它们都加载布局文件,不确定它们的区别是什么?

public class MainActivity extends Activity {
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
         Intent i = new Intent(MainActivity.this, CalculateTip.class);
         startActivity(i);
    }
}
Run Code Online (Sandbox Code Playgroud)

Foa*_*Guy 6

不同之处在于,第一种方法是不创建新的Activity,只需更改当前Activity的布局即可.使用第二种方法,您将创建一个新的Activity.

实际的区别在于,在您开始新活动之后的第二种方式,您可以按后退按钮并返回到第一个.如果按下后退按钮,第一种方式显示第二种布局,它将完成当前(仅)的活动,这将使用户回到他们在进入应用程序之前所做的任何事情.

哪个"更好"是不可能确定的,如果不了解更多关于你想要完成的具体内容.