У меня есть LinearLayout
(перечисленный_venue_item.xml), который я использую для строк в ListView
.Я хотел бы использовать тот же LinearLayout
в качестве наложения для моего MapView
.
Чтобы отобразить list_venue_item.xml поверх моего MapView, я использую include
в том же макете, что и мой MapView, и этоработает нормально:
<include
android:id="@+id/mapVenueItemLayout"
layout="@layout/listed_venue_item"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
/>
Но теперь, чтобы заполнить представления внутри включенного макета, у меня есть дублирующий код: первый в моем VenueArrayAdapter
, который расширяет ArrayAdapter
,и второй в моем классе, который расширяет MapActivity
.
Так что мне интересно, куда поместить код, который заполняет venue_layout.
Мое лучшее предположение - мой класс Venue
, который содержит один экземпляр объекта:
public class Venue {
public int venue_id;
public String name;
public String image_code;
// snipped several fields for brevity
public String toString() {
return "venue: " + name;
}
public static class VenueRowHolder {
ImageView logo_image=null;
TextView name=null;
String logo_code;
int id;
VenueRowHolder(View base) {
this.logo_image=(ImageView)base.findViewById(R.id.venueLogo);
this.name=(TextView)base.findViewById(R.id.venueName);
}
}
}
Где я должен поставить код?Внутри Venue
?Внутри Venue.VenueRowHolder
?где-то еще вообще?