Несколько просмотров в одном действии (например, карта и список) - PullRequest
0 голосов
/ 08 октября 2011

Я немного возился с андроидом последние несколько дней. Я столкнулся с проблемой при включении представлений в другие представления.

При работе с простыми представлениями это не проблема, но как только представление начинает работать с ним, например ListActivity или MapActivity (при использовании представления Google Maps)

Допустим, мне нужен список какого-то динамического вида и представление карт Google в том же виде. Так как у них обоих есть специфическая деятельность, связанная с этим, как бы мне создать это?

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_height="fill_parent" android:orientation="vertical" android:layout_width="fill_parent" android:id="@+id/linearLayout1" android:weightSum="1">
    <include android:id="@+id/include1" layout="@layout/list" android:layout_height="wrap_content"  android:layout_width="match_parent"></include>
    <include android:id="@+id/include2" layout="@layout/map" android:layout_width="match_parent" android:layout_height="wrap_content"></include>
</LinearLayout>

Должен ли я вместо этого использовать инфлатер?

Я искал решение этой проблемы, но я не нашел ни одного. Либо мой гугл-фу отсутствует, либо я смотрю на это неправильно.

При написании этого и прочтении соответствующих вопросов здесь, в SO, я, возможно, нашел решение. Поскольку ListActivity и MapActivity - это просто расширенные Activity, вместо того чтобы использовать ListActivity и MapActivity, которые предоставляет Android SDK, я должен просто использовать обычную Activity и сам реализовать ее, или, если возможно, повторно использовать их действия в моей собственной деятельности?

Кто-нибудь может это подтвердить? :)

Заранее спасибо:)

1 Ответ

1 голос
/ 09 октября 2011

MapViews не всегда находятся внутри MapActivities, а ListViews не всегда находятся внутри ListActivities. Эти действия существуют как отправные точки для других действий, которые вращаются вокруг одного типа представления.

Чтобы ответить на ваш вопрос: если вам нужно действие, которое содержит и ListView, и MapView, вы можете просто добавить их в корневую группу представлений этого действия. Затем просто реализуйте необходимые методы, чтобы заставить MapView и ListView работать должным образом.

Я не уверен, что вы имеете в виду, имея несколько типов представлений в одном представлении. Обычно люди говорят о добавлении представлений для просмотра групп, например:

<LinearLayout ....>
    <Button ..../>
    <ImageView ..../>
</LinearLayout>

В этом случае у вас есть LinearLayout группа просмотра, которая содержит 2 вида: Button и ImageView. В Android нет смысла говорить о ImageView, содержащем другое представление.

Это наводит меня на мысль, что вопрос о Тебе действительно должен быть:

Несколько типов просмотра в одном Активность (например, Карта и Список)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...