Я не уверен, что вы сделали какие-либо опечатки в своем вопросе для своего кода.Похоже, что вы удаляете части своего кода перед публикацией здесь.
getView () предназначен для того, чтобы вы создали View для определенной строки в вашем ListView.Я предполагаю, что вы на самом деле надули ваш main.xml, который является вашим RelativeLayout, содержащим ListView, EmptyView и другой TextView.
Если ваш ListView только отображает строки, просто создайте экземпляр TextView и верните его в getView
@Override
public View getView(int position, View convertView, ViewGroup parent)
{
String item = (String)this.getItem(position);
if (convertView == null)
{
convertView = new TextView(context);
}
convertView.setText(item);
return convertView
}
Передача в контексте через конструктор вашего пользовательского адаптера
Редактировать: Отображение нескольких текстовых представлений в одной строке
Если я собираюсьесли быть строгим, проблема не в строке convertView = mInflater.inflate ().Ошибка в файле завышена.Обычно легче надувать другой XML-файл, если у вас есть более сложное представление для каждой строки в списке.Предыдущая ошибка - это, казалось бы, рекурсивное раздувание файла main.xml
. Для обработки нескольких текстовых представлений выполните следующее:
Создайте еще один XML-файл для представления каждой строки в вашем списке просмотра, list_item.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
.....
>
<TextView android:id="@+id/list_text_1"
....
/>
<TextView android:id="@+id/list_text_2"
....
/>
<TextView android:id="@+id/list_text_3"
....
/>
</LinearLayout>
В вашей реализации getView в вашем адаптере,
@Override
public View getView(int position, View convertView, ViewGroup parent)
{
String item = (String)this.getItem(position);
if (convertView == null)
{
convertView = mInflater.inflate(R.layout.list_item.xml, parent, false);
//link list_text_1, list_text_2, list_text_3 as you need to the individual
// textviews
}
else {
// TODO linking up the textviews when convertView is not null
}
return convertView
}
Вероятно, сейчас самое подходящее время для добавления шаблона представления, учитывая, что вам нужно накачать файл xml.Страница 11/19 из PDF-файла, ссылка на которую приведена в этом ответе , дает довольно хорошее объяснение шаблона ViewHolder.
Наконец, прочитайте больше примеров ListView и посмотрите, когда они используютинфлятор в getView и что они фактически раздувают.