Использование ListView: как добавить представление заголовка?

Я смотрю на API ListView и вижу метод:

addHeaderView (View v)

Что я хочу сделать, так это иметь макет над списком, возможно ли это?

Я попытался сделать что-то вроде:

EditText et=new EditText(this); et.setLayoutParams(new Gallery.LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT)); et.setInputType(InputType.TYPE_CLASS_TEXT); addHeaderView(et); //makes app crash 

Я также пробовал

 setContentView(R.layout.tryview); 

но это также приводит к сбою приложения.

Помощь очень ценится!

Изменить : Код для этого classа:

 public class GroupsActivity extends ListActivity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); String your_array_contents[] = {"a","ab","c"}; setListAdapter(new ArrayAdapter(this, R.layout.groups_layout, your_array_contents)); EditText et=new EditText(this); et.setLayoutParams(new Gallery.LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT)); et.setInputType(InputType.TYPE_CLASS_TEXT); ListView lv = getListView(); lv.setTextFilterEnabled(true); lv.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE); lv.setAdapter(new ArrayAdapter(GroupsActivity.this, android.R.layout.simple_list_item_multiple_choice, your_array_contents)); lv.addHeaderView(et); //makes app crash lv.setOnItemClickListener(new OnItemClickListener() { public void onItemClick(AdapterView parent, View view, int position, long id) { // When clicked, show a toast with the TextView text // Toast.makeText(getApplicationContext(), ((TextView) view).getText(), //Toast.LENGTH_SHORT).show(); } }); } } 

Вы просто не можете использовать View в качестве заголовка ListView.

Потому что представление, которое проходит, должно быть раздуто.

Посмотрите мой ответ в Android ListView addHeaderView () nullPointerException для предопределенных просмотров для получения дополнительной информации.

РЕДАКТИРОВАТЬ:

Посмотрите на этот учебник Android ListView и ListActivity – Tutorial .

EDIT 2 : эта ссылка сломана Android ListActivity с верхним или нижним колонтитулом

Вы можете добавить столько заголовков, сколько хотите, вызвав addHeaderView () несколько раз. Вы должны сделать это, прежде чем устанавливать адаптер в список.

И да, вы можете добавить заголовок что-то вроде этого:

 LayoutInflater inflater = getLayoutInflater(); ViewGroup header = (ViewGroup)inflater.inflate(R.layout.header, myListView, false); myListView.addHeaderView(header, null, false); 
  • Преобразование JSONarray в ArrayList
  • Android: реализация progressbar и «загрузка ...» для бесконечного списка, например Android Market
  • Android: доступ к дочерним представлениям из списка ListView
  • В вашем контенте должен быть ListView с атрибутом id 'android.R.id.list'
  • Как реализовать поиск в CustomListView на основе classа classа POJO в Android?
  • notifyDataSetChanged () делает обновление списка и прокручивает подсказки назад
  • Обнаружение прокрутки вверх и прокрутка вниз в ListView
  • Пользовательский getFilter в пользовательском ArrayAdapter в android
  • Цвет монитора ListView для Android
  • android - listview получить просмотр позиции по позиции
  • Просмотр элементов списка изменений при прокрутке андроида?
  • Interesting Posts
    Давайте будем гением компьютера.