5

私の主なアクティビティでは、ビューをインテントとしてロードすることと、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);
    }
}
4

2 に答える 2

7

違いは、新しいアクティビティを作成しない最初の方法では、現在のアクティビティのレイアウトを変更するだけであるということです。2番目の方法では、新しいアクティビティを作成します。

実際の違いは、新しいアクティビティを開始した後の2番目の方法では、戻るボタンを押して最初のアクティビティに戻ることができることです。一方、最初の方法では、2番目のレイアウトが表示されたら、戻るボタンを押すと、現在の(唯一の)アクティビティが終了し、ユーザーはアプリケーションに入る前に行っていたことに戻ります。

どちらが「より良い」かは、具体的に何を達成しようとしているのかをよく知らずに判断することは不可能です。

于 2012-12-16T03:32:48.253 に答える
0

目的は、アクティビティから新しいアクティビティを初期化することです。

setContentViewは、レイアウトxmlを設定するためのものです

于 2012-12-16T03:34:45.727 に答える