использовать один файл макета XML для деятельности? - PullRequest
0 голосов
/ 21 октября 2011

Можно ли использовать один XML-файл для "всего макета" (действия)? Можете ли вы «встроить» макет строки, который находится в отдельном файле, в представление списка в основном макете XML?

Так это выглядит примерно так

<LinearLayout>
  ...
  <ListView>
     <LinearLayout>
       <ImageView>
       <TextView>
       ...
     </LinearLayout>
   </ListView>
</LinearLayout>

Если это возможно, как это делается, как вы тогда используете "id", адаптер и т. Д.?

Потому что вы могли бы использовать

<listview>
...
</listview>

и не только

<listview .../>

... Я подумал, что, возможно, можно было бы поместить макет строки прямо внутри, но не знаю, как это сделать, чтобы заставить его работать, если это возможно. Это 1014 *

Хотелось бы иметь один отдельный XML-файл макета для каждой операции вместо множества мелких частей. Было бы легче получить всю картину, тогда я думаю и упростить вещи. Может быть, есть другие способы добиться этого?

1 Ответ

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

Определенно можно использовать один xml для просмотра списка и расположения его ячеек

Так и будет

Вы создаете два макета в XML

<LinearLayout android:id="@+id/listview_layout" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical">

<ListView android:id="@+id/listview" android:layout_width="match_parent" android:layout_height="wrap_content"/>

</LinearLayout>

<LinearLayout android:id="@+id/cell_layout" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical">

.............do your cell layout here

</LinearLayout>

Здесь используйте listview_layout для настройки вашего ContentView

setContentView(listview_layout)

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

вы найдете хорошие учебники по настройке пользовательских адаптеров для списка в StackOverFlow

Надеюсь, это решит вашу проблему

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