Использование ListView: как добавить представление заголовка?
Я смотрю на API ListView и вижу метод:
addHeaderView (View v)
Что я хочу сделать, так это иметь макет над списком, возможно ли это?
- удалить несколько элементов в пользовательском listview
- Как получить выбранные элементы из списка Multi Select List
- Ошибка Listview: «В вашем контенте должен быть ListView с атрибутом id« android.R.id.list »
- Android получает точную позицию прокрутки в ListView
- SearchView In ListView с пользовательским адаптером
Я попытался сделать что-то вроде:
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(); } }); } }
- Как выделить строку в ListView в Android?
- Непрокручиваемый ListView внутри ScrollView
- При проверке флажка в listview также проверяются другие случайные флажки
- Как изменить цвет линии разделителя Android ListView?
- Как запустить onListItemClick в Listactivity с помощью кнопок в списке?
- Как добавить нижний колонтитул в ListView?
- Как я могу обновить одну строку в ListView?
- Отображение текущего выбора в списке
Вы просто не можете использовать 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);