0

私はまだ Android に非常に慣れていませんが、YouTube のチュートリアルを使用してついていこうとしています。多くの人が「xml をインフレートする」というフレーズを投げかけています。私もこの言い回しを使い始めましたが、自分のやり方が間違っているように感じます。

私が「xml をインフレートする」と言うのは、Java コードで xml からウィジェットを使用するコードを書くよう誰かに指示するときだけです。

したがって、誰かのレイアウトに の ID を持つボタンが表示され、button01「xml をインフレートする」ように指示した場合、私は期待しますButton mybutton = (Button) findViewById(R.id.button01);

これは私が間違っていますか?

編集: これは正しいフレーズではないようです。存在しますか?

4

3 に答える 3

3

レイアウトの「インフレート」とは、Android フレームワークが XML 形式のレイアウトを、レイアウト内のさまざまなビューに対応するオブジェクトに変換するプロセスを指します。

必要なレイアウトを「膨らませる」には:

  • XML 形式のレイアウト

    res/レイアウト/main.xml

  • インフレータ オブジェクトへのアクセス

    LayoutInflater インフレータ = (LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE);

次に、レイアウトでインフレーションを実行する必要があります

   View view = inflator.inflate(R.layout.main)

その後、「findViewById」を使用してオブジェクトにアクセスできます

    Button mybutton = (Button) view.findViewById(R.id.button01);

Activity クラスは、インフレータを取得してレイアウトを膨張させるヘルパー メソッドを提供します。

    setContentView(R.layout.main)

「setContentView」メソッドを使用すると、アクティビティは「findViewById」を呼び出すときに使用されるデフォルト ビューを設定します。

于 2012-06-27T00:24:11.003 に答える
1

並べ替え。誰かがレイアウトをインフレートする (またはあなたが言うように xml をインフレートする) と言ったとき、一般的に頭に浮かぶコードは次のようなものです。

View view = getLayoutInflater().inflate(R.layout.mylayout, null);

インフレータを取得する別の方法は次のとおりです。

LayoutInflater inflater = (LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE);

その後、次のように進みます

Button mybutton = (Button) view.findViewById(R.id.button01);
于 2012-06-26T23:42:52.163 に答える
0

Button mybutton = (Button) findViewById(R.id.button01); を使用しているときは、基本的に、コードで作成したボタンを xml で定義したボタンにキャストしています。

「膨らませる」が正しい用語かどうかはよくわかりません。これは、xml レイアウトに配置したものと、Java コードで定義した機能をリンクする方法だと考えています。

于 2012-06-26T23:42:01.897 に答える