0

Я хочу простой прокручиваемый ListView. У меня есть пользовательский адаптер, который заставляет каждую строку отображать изображение и некоторый текст.Дизайн макета Android: композитный Относительный vs фрагменты

Под мной я хочу несколько кнопок.

Я ищу макет, как этот образец изображение:

Sample Layout

Это кажется, что это должно быть тривиальными. У меня есть один основной деятельности, которая простирается 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, чтобы иметь любую возможность, отличную от полноэкранного списка?

Спасибо.

ответ

1

Ваш вид прокрутки пуст. Если вы хотите, чтобы в нем было несколько прокручиваемых элементов, разместите макет viewgroup внутри, например, в линейном макете, а затем запустите кнопку внутри.

Ваши взгляды возвращают null mostlikly, потому что вы не установили contcontview() в методе create on. Вместо расширения listActivity расширяется нормальная активность и макет поставки, которые имеют listView

+1

Когда я запускаю свое приложение, я правильно загружаю свои фиктивные данные. ScrollView, вероятно, является красной селедкой и не используется. Мое недоразумение состоит в том, что я не вижу трех моих кнопок при запуске приложения, и любые попытки вызвать их из кода Java возвращают нулевое значение из findViewById. – Raevik

+0

@Raevik i updated my answear –

+0

Это была проблема, которую я повесил, сделав мой основной ListActivity, а не просто управляя ListView внутри регулярного действия. Как только я установилContentView и переместил ListView внутри этой операции, я был в порядке. Благодаря! – Raevik

Смежные вопросы