Вот мой getChildView
:держатель ExpandableListView становится нулевым
public View getChildView(int groupPosition, int childPosition,
boolean isLastChild, View convertView, ViewGroup parent) {
View v = convertView;
ViewHolderChild h;
if (v == null) {
h = new ViewHolderChild();
switch (groupPosition) {
case GROUP_OVERVIEW:
v = inflater
.inflate(R.layout.adapter_show_child_overview, null);
h.wv_overview = (WebView) v
.findViewById(R.id.wv_adapter_show_child_overview);
h.tv_title = (TextView) v
.findViewById(R.id.tv_adapter_show_overview_title);
h.tv_date = (TextView) v
.findViewById(R.id.tv_adapter_show_overview_date);
h.tv_year = (TextView) v
.findViewById(R.id.tv_adapter_show_overview_year);
h.tv_network = (TextView) v
.findViewById(R.id.tv_adapter_show_overview_network);
h.tv_title.setTypeface(font_bold);
h.tv_date.setTypeface(font_thin);
h.tv_year.setTypeface(font_thin);
h.tv_network.setTypeface(font_bold);
v.setTag(h);
break;
case GROUP_SEASONS:
v = inflater.inflate(R.layout.adapter_shows_child_seasons, null);
h.siv = (SmartImageView) v.findViewById(R.id.siv_adapter_show_child_seasons);
h.tv_seasons = (TextView) v.findViewById(R.id.tv_adapter_show_child_seasons);
v.setTag(h);
break;
}
} else {
h = (ViewHolderChild) v.getTag();
}
switch (groupPosition) {
case GROUP_OVERVIEW:
OverView overview = groups.get(groupPosition).getOverview();
FunctionUtils.loadHtml(h.wv_overview, overview.getOverview(),
FunctionUtils.FONT_ROBOTO_THIN, 14);
h.tv_date.setText("" + overview.getAirDay() + "/"
+ overview.getAirTime());
h.tv_title.setText(overview.getTitle());
h.tv_year.setText("" + overview.getYear());
h.tv_network.setText("" + overview.getNetwork());
break;
case GROUP_SEASONS:
SeasonObject season = groups.get(groupPosition).getSeasons().get(childPosition);
if(season.getImages().getPoster() != null){
h.siv.setImageUrl(season.getImages().getPoster());
}
h.tv_seasons.setText("Season : "+season.getSeason()+" Episode : "+season.getEpisodes());
break;
}
return v;
}
Но когда я начинаю прокручивать вниз, есть проблема в этой строке: h.siv.setImageUrl(season.getImages().getPoster());
Я видел журнал и говорит ч содержит все вид из GROUP_OVERVIEW
и не GROUP_SEASONS
Это вызывает NullPointerException, ExpandableListConnector getView
Her e's logcat:
02-13 22:42:11.952: E/AndroidRuntime(7832): FATAL EXCEPTION: main
02-13 22:42:11.952: E/AndroidRuntime(7832): java.lang.NullPointerException
02-13 22:42:11.952: E/AndroidRuntime(7832): at com.galite.pomo.adapters.ShowAdapter.getChildView(ShowAdapter.java:117)
02-13 22:42:11.952: E/AndroidRuntime(7832): at android.widget.ExpandableListConnector.getView(ExpandableListConnector.java:451)
02-13 22:42:11.952: E/AndroidRuntime(7832): at android.widget.AbsListView.obtainView(AbsListView.java:2161)
02-13 22:42:11.952: E/AndroidRuntime(7832): at android.widget.ListView.makeAndAddView(ListView.java:1840)
02-13 22:42:11.952: E/AndroidRuntime(7832): at android.widget.ListView.fillDown(ListView.java:675)
02-13 22:42:11.952: E/AndroidRuntime(7832): at android.widget.ListView.fillGap(ListView.java:639)
02-13 22:42:11.952: E/AndroidRuntime(7832): at android.widget.AbsListView.trackMotionScroll(AbsListView.java:4970)
02-13 22:42:11.952: E/AndroidRuntime(7832): at android.widget.AbsListView.scrollIfNeeded(AbsListView.java:3126)
02-13 22:42:11.952: E/AndroidRuntime(7832): at android.widget.AbsListView.onTouchEvent(AbsListView.java:3400)
02-13 22:42:11.952: E/AndroidRuntime(7832): at android.view.View.dispatchTouchEvent(View.java:7384)
02-13 22:42:11.952: E/AndroidRuntime(7832): at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2203)
02-13 22:42:11.952: E/AndroidRuntime(7832): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1938)
02-13 22:42:11.952: E/AndroidRuntime(7832): at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2209)
02-13 22:42:11.952: E/AndroidRuntime(7832): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1952)
02-13 22:42:11.952: E/AndroidRuntime(7832): at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2209)
02-13 22:42:11.952: E/AndroidRuntime(7832): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1952)
02-13 22:42:11.952: E/AndroidRuntime(7832): at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2209)
02-13 22:42:11.952: E/AndroidRuntime(7832): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1952)
02-13 22:42:11.952: E/AndroidRuntime(7832): at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2209)
02-13 22:42:11.952: E/AndroidRuntime(7832): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1952)
02-13 22:42:11.952: E/AndroidRuntime(7832): at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2209)
02-13 22:42:11.952: E/AndroidRuntime(7832): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1952)
02-13 22:42:11.952: E/AndroidRuntime(7832): at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2209)
02-13 22:42:11.952: E/AndroidRuntime(7832): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1952)
02-13 22:42:11.952: E/AndroidRuntime(7832): at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2209)
02-13 22:42:11.952: E/AndroidRuntime(7832): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1952)
02-13 22:42:11.952: E/AndroidRuntime(7832): at com.android.internal.policy.impl.PhoneWindow$DecorView.superDispatchTouchEvent(PhoneWindow.java:1966)
02-13 22:42:11.952: E/AndroidRuntime(7832): at com.android.internal.policy.impl.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1418)
02-13 22:42:11.952: E/AndroidRuntime(7832): at android.app.Activity.dispatchTouchEvent(Activity.java:2424)
02-13 22:42:11.952: E/AndroidRuntime(7832): at com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchTouchEvent(PhoneWindow.java:1914)
02-13 22:42:11.952: E/AndroidRuntime(7832): at android.view.View.dispatchPointerEvent(View.java:7564)
02-13 22:42:11.952: E/AndroidRuntime(7832): at android.view.ViewRootImpl$ViewPostImeInputStage.processPointerEvent(ViewRootImpl.java:3883)
02-13 22:42:11.952: E/AndroidRuntime(7832): at android.view.ViewRootImpl$ViewPostImeInputStage.onProcess(ViewRootImpl.java:3778)
02-13 22:42:11.952: E/AndroidRuntime(7832): at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:3379)
02-13 22:42:11.952: E/AndroidRuntime(7832): at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:3429)
02-13 22:42:11.952: E/AndroidRuntime(7832): at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:3398)
02-13 22:42:11.952: E/AndroidRuntime(7832): at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:3483)
02-13 22:42:11.952: E/AndroidRuntime(7832): at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:3406)
02-13 22:42:11.952: E/AndroidRuntime(7832): at android.view.ViewRootImpl$AsyncInputStage.apply(ViewRootImpl.java:3540)
02-13 22:42:11.952: E/AndroidRuntime(7832): at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:3379)
02-13 22:42:11.952: E/AndroidRuntime(7832): at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:3429)
02-13 22:42:11.952: E/AndroidRuntime(7832): at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:3398)
02-13 22:42:11.952: E/AndroidRuntime(7832): at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:3406)
02-13 22:42:11.952: E/AndroidRuntime(7832): at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:3379)
02-13 22:42:11.952: E/AndroidRuntime(7832): at android.view.ViewRootImpl.deliverInputEvent(ViewRootImpl.java:5419)
02-13 22:42:11.952: E/AndroidRuntime(7832): at android.view.ViewRootImpl.doProcessInputEvents(ViewRootImpl.java:5399)
02-13 22:42:11.952: E/AndroidRuntime(7832): at android.view.ViewRootImpl.enqueueInputEvent(ViewRootImpl.java:5370)
02-13 22:42:11.952: E/AndroidRuntime(7832): at android.view.ViewRootImpl$WindowInputEventReceiver.onInputEvent(ViewRootImpl.java:5493)
02-13 22:42:11.952: E/AndroidRuntime(7832): at android.view.InputEventReceiver.dispatchInputEvent(InputEventReceiver.java:182)
02-13 22:42:11.952: E/AndroidRuntime(7832): at android.view.InputEventReceiver.nativeConsumeBatchedInputEvents(Native Method)
02-13 22:42:11.952: E/AndroidRuntime(7832): at android.view.InputEventReceiver.consumeBatchedInputEvents(InputEventReceiver.java:174)
02-13 22:42:11.952: E/AndroidRuntime(7832): at android.view.ViewRootImpl.doConsumeBatchedInput(ViewRootImpl.java:5472)
02-13 22:42:11.952: E/AndroidRuntime(7832): at android.view.ViewRootImpl$ConsumeBatchedInputRunnable.run(ViewRootImpl.java:5512)
02-13 22:42:11.952: E/AndroidRuntime(7832): at android.view.Ch