После Какие артефакты следует использовать для JAXB RI в моем проекте Maven? в Maven, вы можете использовать такой профиль, как:
java-9
9
org.glassfish.jaxb
jaxb-runtime
2.3.0
javax.activation
activation
1.1.1
Дерево зависимостей показывает:
[INFO] +- org.glassfish.jaxb:jaxb-runtime:jar:2.3.0:compile
[INFO] | +- org.glassfish.jaxb:jaxb-core:jar:2.3.0:compile
[INFO] | | +- javax.xml.bind:jaxb-api:jar:2.3.0:compile
[INFO] | | +- org.glassfish.jaxb:txw2:jar:2.3.0:compile
[INFO] | | \- com.sun.istack:istack-commons-runtime:jar:3.0.5:compile
[INFO] | +- org.jvnet.staxex:stax-ex:jar:1.7.8:compile
[INFO] | \- com.sun.xml.fastinfoset:FastInfoset:jar:1.2.13:compile
[INFO] \- javax.activation:activation:jar:1.1.1:compile
Чтобы использовать это в Eclipse, скажем, Oxygen.3a Release (4.7.3a) или позже, Ctrl-Alt-P или щелкните правой кнопкой мыши проект, Maven, затем выберите профиль.
Единственными причинами getView
не называются:
getCount
возвращает 0. setAdapter
на ListView
. ListView
's (видимость контейнера) равна GONE
. Благодаря @ TaynãBonaldo для ценного ввода. ListView
не привязан к какому-либо макету видового экрана. То есть, mListView = new ListView(...)
используется без myLayout.addView(mListView)
. В onPostExcute
после создания нового экземпляра CarListAdapter
я предлагаю вам обновить новый экземпляр до ваш ListView
. Действительно, вам нужно снова позвонить
mList.setAdapter(adapter);
Изменить: setAdapter
должен всегда вызываться в потоке ui, чтобы избежать неожиданного поведения
Edit2:
То же самое относится к RecyclerView
. Убедитесь, что
getItemCount
возвращает значение больше, чем 0
(обычно размер набора данных) setLayoutManager
, так и setAdapter
на UI Thread
VISIBLE
Что вы делали, это
В вашем адаптере
public CarListAdapter(Context context , ArrayList<CarDetail> items) {
this.context = context;
this.items = items;
}
в вашем фрагменте
adapter = new CarListAdapter(getActivity(),ServiceCarListFragment.this.carDetailList);
Надеюсь, вы будете использовать FragmentActivity
Вам нужно позвонить
adapter = new CarListAdapter(YOUR_ACTIVITY_CONTEXT, carDetailList);
, где YOUR_ACTIVITY_CONTEXT
будет вашим FragmentActivity
У меня была та же проблема. И после того, как все подсказки выше моего getView все еще не вызывались. Поэтому я попытался удалить ScrollView, который использовался вне ListView. Тогда getView работал хорошо. Просто добавьте еще одну возможность. Я надеюсь кому-то помочь.
У меня возникла аналогичная проблема. Чтобы решить эту проблему, выполните простую работу:
В вашем onCreateView вам придется подождать до создания представления. Поэтому измените свои строки следующим образом:
mList = (ListView)v.findViewById(R.id.list);
mList.setAdapter(adapter);
ИЗМЕНИТЬ ВЫШЕ ДВУХ ЛИНИЙ В:
mList = (ListView)v.findViewById(R.id.list);
mList.post(new Runnable() {
public void run() {
mList.setAdapter(adapter);
}
});
Надеюсь, это поможет другим, столкнувшимся с подобной проблемой
вы должны убедиться, что в списке есть элементы, которые могут иметь ошибку при добавлении элементов в ваш список. Чтобы проверить, используйте метод:
adapter.getCount();
В конструкторе отсутствует суперкласс. См. Мой пример ниже:
public AppDataAdapter(Activity a, int textViewResourceId, ArrayList<AppData> entries) {
super(a, textViewResourceId, entries);
this.entries = entries;
this.activity = a;
}