2013-11-09 3 views
0

Так ошибка, которая выбрасывается вПочему onScrollListener считает, что ListView не создан?

java.lang.IllegalStateException: Content view not yet created 

Это брошено, когда я раскомментировать getListView().setOnScrollListener(this); линию.

public class MyCategoryFragment extends ListFragment implements OnScrollListener { 
    private ArrayList<Article> m_articles = new ArrayList<Article>(); 
    public ArticleAdapter m_artadapter; 


    public MyCategoryFragment() { 
     super(); 
    } 

    @Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 
     View rootView = inflater.inflate(R.layout.fragment_category, container, false); 

     m_articles = manager.loadCategory(getActionBar().getTitle().toString(), 10); 
     m_artadapter = new ArticleAdapter(this.getActivity(), R.layout.article_button, m_articles); 
     this.setListAdapter(m_artadapter); 

     //getListView().setOnScrollListener(this); 
     return rootView; 
    } 

Вот макет просто так что вы можете видеть, что это правильно ListView

<?xml version="1.0" encoding="utf-8"?> 

    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
       android:orientation="vertical" 
       android:layout_width="fill_parent" 
       android:layout_height="fill_parent" 
     > 
    <ListView 
      android:id="@android:id/list" 
      android:layout_width="fill_parent" 
      android:layout_height="fill_parent" 
      /> 
    <TextView 
      android:id="@android:id/empty" 
      android:textColor="#FFFFFF" 
      android:textSize="30sp" 
      android:gravity="center_vertical|center_horizontal" 
      android:layout_width="fill_parent" 
      android:layout_height="fill_parent" 
      android:text="It's not you it's us..."/> 
</LinearLayout> 

Я исследовал это экстенсивно, и я верю в должно быть что-то так просто, но это занимает больше суток чтобы исправить это. Благодаря

+0

реализовать слушателя в onActivityCreated() метод –

ответ

2

как документ onCreateView остается:

создает и возвращает иерархию вида, связанный с фрагментом так, поскольку метод не возвращает, вы будете не в состоянии получить доступ к ListView через getListView(). Вы можете получить действительную ссылку в обратном вызове OnActivityCreate.

+0

Ах круто! Я так долго смотрел на это! Так что теперь он не падает, но он ничего не делает, когда он прокручивается. Журналы inScroll не регистрируются ... – bungleofsketches

+1

На самом деле я исправил это! Спасибо миллион снова человек – bungleofsketches

+0

Я использую setOnScrollListener в onActivityCreated внутри postdelayed оператора выполнения, и я все еще получаю контент-представление, не созданное отчеты о сбоях от некоторых людей – CQM

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