は、どのような方法がありますあなたが探しているものをXML
から行全体のレイアウト(行レイアウトのコンテナとチャイルズ)を取得すると、ビューをinflate
する方法である(LayoutInflator)
適切な用語があるので、例を見つけるのは簡単で、ListView
のチュートリアルではinflate
が一般的です。例えば、例えば、このチュートリアルでgetView()
で見てみましょう:
HOWTO:リストビュー、アダプタ、getViewメソッドと別のリスト項目のレイアウトを1つのListViewコントロールに
http://android.amberfog.com/?p=296
mInflater = (LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE);
...
convertView = mInflater.inflate(R.layout.item1, null);
...いくつかのプロパティを編集します(行レイアウトのTextViewsなど)。
ビューを展開すると、その中のウィジェットを検索して操作することができます。
holder.textView =(TextView)convertView.findViewById(R.id.text);
// Data structure to save lookups
public static class ViewHolder {
public TextView textView;
}
...
// Save lookups to widgets for this view in ViewHolder in tag
ViewHolder holder = new ViewHolder();
holder.textView = (TextView) convertView.findViewById(R.id.text);
view.setTag(holder);
...
// Grab saved widgets - no need to search tree for them via lookup again
ViewHolder holder = (ViewHolder) convertView.getTag();
holder.textView.setText(mData.get(position));
:参照例では、関連ビットの下に示さ
ビューはかなり複雑であり、および/またはあなたは、多くの場合、その中のウィジェットを探している場合は、私はViewHolder技術を指摘したいです、
...結果をLinearLayoutに追加しますか?おそらく
、すでにプログラム的LinearLayout
に追加しているが、あなたはいくつかのコードを見たい場合は、ここでいくつかのレイアウトパラメータの設定を示す例です:
アンドロイドのLinearLayout
http://developerlife.com/tutorials/?p=312
// main "enclosing" linearlayout container - mainPanel
final LinearLayout mainPanel = new LinearLayout(ctx);
{
mainPanel.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT,
LayoutParams.FILL_PARENT));
mainPanel.setOrientation(LinearLayout.VERTICAL);
...
}
...
// top panel
LinearLayout topPanel = new LinearLayout(ctx);
{
// WEIGHT = 1f, GRAVITY = center
topPanel.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT,
LayoutParams.WRAP_CONTENT,
1));
...
}
...
// bottom panel
LinearLayout bottomPanel = new LinearLayout(ctx);
{
LayoutUtils.Layout.WidthFill_HeightWrap.applyLinearLayoutParams(bottomPanel);
...
}
...
// add the panels
mainPanel.addView(topPanel);
mainPanel.addView(bottomPanel);
...
を
最後に、AdapterView
/で多くのことができます(カスタム行を含む)。パラダイム、例えば。 ListView
とSimpleCursorAdapter
を使用してください。それはそれを調べることによっていくつかのコードを保存するかもしれません。いくつかここでそれについてbabbling:
Android ListView with different layouts for each row