1

私は Android 開発を始めたばかりで、Android 開発コミュニティで出回っている「Inflate a View」というフレーズに興味があります。

クラスの Inflate メソッドの呼び出しに関係していることはわかっていますが、LayoutInflaterその背後にある概念をまだ把握していません。これは基本的に、JavaScript のようなものと同じように ID を渡してビューを返すことを意味するのdocument.getElementById()でしょうか、それともそれ以上のものがあるのでしょうか? どんな形の啓発も歓迎します。

4

2 に答える 2

2

基本的には、xmlLayoutファイルを Java コードで使用するオブジェクトにインスタンス化するために使用される用語です。これを行うには、 を呼び出すsetContentView(R.layout.file name minus xml extension)か、 を使用しLayoutInflaterます。膨らませた後でのみ、その子を呼び出すことができますViewsviewこれは知っておくことが重要です。なぜなら、人々がクラッシュするアプリを持っていて、いいねを参照しようとしていることが判明した SO に関する多くの質問を見たからです。

EditText et = (EditText) findViewById(R.id.someID);

そして、 が実際には存在しないため、が になるまで、を保持するをsetContentView()取得するために呼び出されていません。LayoutEditTextNPEEditTextLayoutinflated

ドキュメントを見たことがあると思いますが、とにかくここにあります

于 2013-04-01T22:56:27.043 に答える
0

詳細は私が言うよりも確かに複雑ですが、ビューを膨らませることを考える最も簡単な方法は、xml レイアウト ファイルから実際のViewオブジェクトに移行するプロセスだと思います。多くの異なるクラスに散らばっているインフレーション メソッドは、通常、すべてidとして設定する引数を取りますR.layout.xxx

于 2013-04-01T22:56:53.803 に答える