intent和setcontentview之间的区别

时间:2012-12-16 03:28:51

标签: android

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

之间存在差异
public class MainActivity extends Activity {
  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
  }
}

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

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

2 个答案:

答案 0 :(得分:6)

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

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

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

答案 1 :(得分:0)

Intent用于初始化活动中的新活动......

setContentView用于设置布局xml