Я хочу простой прокручиваемый ListView. У меня есть пользовательский адаптер, который заставляет каждую строку отображать изображение и некоторый текст.Дизайн макета Android: композитный Относительный vs фрагменты
Под мной я хочу несколько кнопок.
Я ищу макет, как этот образец изображение:
Это кажется, что это должно быть тривиальными. У меня есть один основной деятельности, которая простирается ListActivity:
public class ShufflerMain extends ListActivity {
private ArrayList<ListEntry> init = new ArrayList<ListEntry>();
private Button btnAddEntry;
private Button btnShuffle;
private Button btnClearAll;
private InitiativeArrayAdapter initAdapter;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//initViews();
loadDummyData();
listAdapter = new MyCustomArrayAdapter(this, init);
setListAdapter(initAdapter);
}
Это нормально, и денди, но я хотел бы иметь несколько кнопок под этим списком. (делать такие вещи, как добавление в список, очистка списка и т. д.). Мой главный XML выглядит следующим образом:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.myapp.ShufflerFragment" >
<ScrollView
android:id="@+id/list"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
</ScrollView>
<Button
android:id="@+id/clearAll"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:text="@string/clearAll"/>
<Button
android:id="@+id/add_new_entry"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_above="@+id/clearAll"
android:text="@string/addEntry"/>
<Button
android:id="@+id/shuffle"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_above="@+id/add_new_entry"
android:text="@string/shuffle"/>
</RelativeLayout>
Я могу запустить приложение просто отлично, но графический предварительный просмотр макета в Eclipse, выглядит правильно, и я вижу мою 3 кнопки. Когда я запускаю его на своем телефоне, все, что я вижу, это мой ListView, заполненный моими фиктивными данными. Я добавил вызовы в Java, чтобы вытащить кнопки и добавить слушателей, а findViewById возвращает null.
Я полностью настроил этот проект неправильно? Нужно ли иметь другое действие в качестве моей «Основной» отдельно от ListView, чтобы иметь любую возможность, отличную от полноэкранного списка?
Спасибо.
Когда я запускаю свое приложение, я правильно загружаю свои фиктивные данные. ScrollView, вероятно, является красной селедкой и не используется. Мое недоразумение состоит в том, что я не вижу трех моих кнопок при запуске приложения, и любые попытки вызвать их из кода Java возвращают нулевое значение из findViewById. – Raevik
@Raevik i updated my answear –
Это была проблема, которую я повесил, сделав мой основной ListActivity, а не просто управляя ListView внутри регулярного действия. Как только я установилContentView и переместил ListView внутри этой операции, я был в порядке. Благодаря! – Raevik