1

入力スクリプトから表示を生成しています。上部と下部のセクションは、マージファイルやインクルードファイルの場合と同様に繰り返し可能ですが、「setText()」命令で簡単に処理できる1つの小さなテキスト変更を除きます。中央のセクションはスクリプトによって指示され、可変の長さと内容にすることができます。生成されたビューは、子ビューとしてScrollViewに追加されます。

現在、上部セクションと下部セクションの両方を説明するスクリプト文字列と、ユーザーデータベースによって提供される変数「中央セクション」スクリプトに置き換えられた中央の「マーカー」があります。この構造は、スクリプトに「マージ」または「インクルード」機能を組み込むことができれば、より効率的に表現および生成できると思います。これは、Javaコードにマージまたはインクルード関数を実装できる必要があることを意味します。

助言がありますか?

4

1 に答える 1

2

これは、最近のプロジェクトでLinearLayout完全な繰り返しを生成するために使用したコードの一部です。レイアウト XML ファイルを膨張させることによりLinearLayout、 と同じように機能します。<include />

LayoutInflater li = LayoutInflater.from(/* Your context here */);
ViewGroup layoutTarget = /* Some layout object */;

// ...

for (int i = 0; i < items.size(); i++) {
    // ...

    final View v = li.inflate(R.layout.name_of_your_layout, layoutTarget, false);
    layoutTarget.addView(v);
}

これを必要に応じて調整できるはずです。ここで重要な.inflate()のは、そのレイアウトの新しいインスタンスを作成するメソッドを呼び出すことです。

于 2012-06-24T21:54:19.007 に答える