Я хочу изменить видимость кнопок моего изображения в моем PagerAdapter. Не похоже, что я могу ссылаться на части макета в instantiateItem через id, я могу ссылаться только на полный макет. Это странно, потому что кажется, что я все еще могу ссылаться на свои веб-просмотры через id.
Как мне подойти к этому? Это то, что я пытаюсь сделать, но я получаю исключение нулевого указателя в последней строке, показанной ниже:
public Object instantiateItem(View collection, int position) {
ImageButton btnRight = (ImageButton) findViewById(R.id.buttonright);
ImageButton btnLeft = (ImageButton) findViewById(R.id.buttonleft);
if (position == 0) {
resLayout = R.layout.the_webview;
urltoload = theUrls[position];
resId = R.id.webview0;
btnLeft.setVisibility(View.INVISIBLE);
View view = inflater.inflate(resLayout, null);
...
if (position != 2) {
mainWebView = (WebView) view.findViewById(resId);
mainWebView.getSettings().setJavaScriptEnabled(true);
mainWebView.loadUrl(urltoload);
}
((ViewPager) collection).addView(view, 0);
return view;
}
Мне нужна позиция для соответствующей настройки видимости, поэтому я не могу сделать это в onCreate. Я знаю, что для обычного адаптера я могу использовать getView, но не могу использовать его для PagerAdapter.
Я также прочитал, что я могу просто создать свой собственный поток обновления пользовательского интерфейса через обработчики, но как мне это сделать в этом случае?
Спасибо.