2016-11-04 4 views
0

Я пытаюсь раздуть новый вид метода getView() в одном из фрагментов моего приложения. Чтобы сделать это, я создать LayoutInflater, а затем раздуть convertView:Почему раздувание представления в getView() вызывает исключение?

@Override 
public View getView(final int position, View convertView, ViewGroup parent) { 
    if (convertView == null) { 
     LayoutInflater inflater = (LayoutInflater) getActivity().getSystemService(Activity.LAYOUT_INFLATER_SERVICE); 
     convertView = inflater.inflate(R.layout.inflater_my_search, parent); 
    } 

    return convertView; 
} 

Однако, когда я делаю это, я получаю это исключение:

android.view.InflateException: Двоичный файл строка XML # 101: addView (View, LayoutParams) не поддерживается в AdapterView

В чем причина этой проблемы?

+0

convertView = Inflater .inflate (R.layout.inflater_my_search, parent); это вызывает, просто конвертируйте view = inflater.inflate (R.layout.inflater_my_search, null); – dex

ответ

2

Использование inflater.inflate(R.layout.inflater_my_search, parent, false);

2-метод паров пытаются прикрепить представление к родителю, бросая исключение

0
convertView = inflater.inflate(R.layout.inflater_my_search, parent); // here 
your trying to add the view in parent make sure you remove all views and then add. 

вместо того, чтобы использовать простые методы, как

1. convertView = inflater.inflate(R.layout.inflater_my_search, parent, false);// 
here your inflating view but not adding the parent.(false flag) 


2 convertView = inflater.inflate(R.layout.inflater_my_search, null)// 
here your not supplying any parent.