Ответ 1
Пример, который мне очень помог:
http://android-developers.blogspot.com/2009/02/android-layout-tricks-1.html
Я надеюсь, что это будет полезно и вам.
Я вытягиваю список объектов продукта из вызова базы данных, и я хочу создать ListView данных в своей деятельности с помощью прокрутки верхнего и нижнего колонтитула. Каждая строка будет состоять из миниатюры продукта, некоторых данных и кнопки, расположенных горизонтально. Я понимаю, что с помощью ListView я могу раздувать каждую строку, используя отдельный макет.
Большинство примеров, которые я видел с помощью ListView, просто показывают простой массив строк, которые заполняют весь вид деятельности, но большинство примеров в реальном мире будут более сложными, и я не могу найти хороших примеров, объясняющих, как все эти части подходят друг другу.
Есть ли у кого-нибудь какие-либо указатели на образец кода с хорошим объяснением?
Пример, который мне очень помог:
http://android-developers.blogspot.com/2009/02/android-layout-tricks-1.html
Я надеюсь, что это будет полезно и вам.
private static class CustomCursorAdapter extends CursorAdapter {
protected ListView mListView;
protected static class RowViewHolder {
public TextView mTitle;
public TextView mText;
}
public CustomCursorAdapter(Activity activity) {
super();
mListView = activity.getListView();
}
@Override
public void bindView(View view, Context context, Cursor cursor) {
// do what you need to do
}
@Override
public View newView(Context context, Cursor cursor, ViewGroup parent) {
View view = View.inflate(context, R.layout.row_layout, null);
RowViewHolder holder = new RowViewHolder();
holder.mTitle = (TextView) view.findViewById(R.id.Title);
holder.mText = (TextView) view.findViewById(R.id.Text);
holder.mTitle.setOnClickListener(mOnTitleClickListener);
holder.mText.setOnClickListener(mOnTextClickListener);
view.setTag(holder);
return view;
}
}
Самый простой способ иметь сложную строку в ListView - через SimpleAdapter. Для этого существует ряд примеров.
Чтобы заставить ListView заполнить оставшуюся часть экрана, задайте следующие свойства:
Используйте LinearLayout.
В представлении списка:
android:layout_height="fill_parent",
android:height="0dp",
android:layout_weight="1"
Во всех других виджетах:
android:layout_height="wrap_content"
Не устанавливайте высоту или layout_weight