Добавить значок в PagerTabStrip

Я пытался добавить изображения вместе с текстом в PagerTabStrip, но получаю сообщение об ошибке, и приложение принудительно закрывается. Я использую инструкции, как показано в здесь для PagerTabStrip с ViewPager. В это сообщение, показано, как добавлять изображения, но оно не работает, и код не завершен. Таким образом, любая помощь будет высоко оценена. Я использую PagerTabStrip, потому что хочу, чтобы вкладка начиналась с центра.

LogCat error

01-11 15:15:47.684: E/AndroidRuntime(7583): FATAL EXCEPTION: main
01-11 15:15:47.684: E/AndroidRuntime(7583): Process: in.wptrafficanalyzer.viewpagerdemo, PID: 7583
01-11 15:15:47.684: E/AndroidRuntime(7583): java.lang.NullPointerException
01-11 15:15:47.684: E/AndroidRuntime(7583): 	at in.wptrafficanalyzer.viewpagerdemo.MyFragmentPagerAdapter.getPageTitle(MyFragmentPagerAdapter.java:45)
01-11 15:15:47.684: E/AndroidRuntime(7583): 	at android.support.v4.view.PagerTitleStrip.updateText(PagerTitleStrip.java:276)
01-11 15:15:47.684: E/AndroidRuntime(7583): 	at android.support.v4.view.PagerTitleStrip.updateAdapter(PagerTitleStrip.java:321)
01-11 15:15:47.684: E/AndroidRuntime(7583): 	at android.support.v4.view.PagerTitleStrip.onAttachedToWindow(PagerTitleStrip.java:252)
01-11 15:15:47.684: E/AndroidRuntime(7583): 	at android.view.View.dispatchAttachedToWindow(View.java:12851)
01-11 15:15:47.684: E/AndroidRuntime(7583): 	at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:2579)
01-11 15:15:47.684: E/AndroidRuntime(7583): 	at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:2586)
01-11 15:15:47.684: E/AndroidRuntime(7583): 	at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:2586)
01-11 15:15:47.684: E/AndroidRuntime(7583): 	at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:2586)
01-11 15:15:47.684: E/AndroidRuntime(7583): 	at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:2586)
01-11 15:15:47.684: E/AndroidRuntime(7583): 	at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:2586)
01-11 15:15:47.684: E/AndroidRuntime(7583): 	at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1427)
01-11 15:15:47.684: E/AndroidRuntime(7583): 	at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1192)
01-11 15:15:47.684: E/AndroidRuntime(7583): 	at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:6231)
01-11 15:15:47.684: E/AndroidRuntime(7583): 	at android.view.Choreographer$CallbackRecord.run(Choreographer.java:816)
01-11 15:15:47.684: E/AndroidRuntime(7583): 	at android.view.Choreographer.doCallbacks(Choreographer.java:619)
01-11 15:15:47.684: E/AndroidRuntime(7583): 	at android.view.Choreographer.doFrame(Choreographer.java:588)
01-11 15:15:47.684: E/AndroidRuntime(7583): 	at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:802)
01-11 15:15:47.684: E/AndroidRuntime(7583): 	at android.os.Handler.handleCallback(Handler.java:808)
01-11 15:15:47.684: E/AndroidRuntime(7583): 	at android.os.Handler.dispatchMessage(Handler.java:103)
01-11 15:15:47.684: E/AndroidRuntime(7583): 	at android.os.Looper.loop(Looper.java:193)
01-11 15:15:47.684: E/AndroidRuntime(7583): 	at android.app.ActivityThread.main(ActivityThread.java:5388)
01-11 15:15:47.684: E/AndroidRuntime(7583): 	at java.lang.reflect.Method.invokeNative(Native Method)
01-11 15:15:47.684: E/AndroidRuntime(7583): 	at java.lang.reflect.Method.invoke(Method.java:515)
01-11 15:15:47.684: E/AndroidRuntime(7583): 	at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
01-11 15:15:47.684: E/AndroidRuntime(7583): 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:655)
01-11 15:15:47.684: E/AndroidRuntime(7583): 	at dalvik.system.NativeStart.main(Native Method)
Adapter

package in.wptrafficanalyzer.viewpagerdemo;

import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;
import android.text.SpannableStringBuilder;
import android.text.Spanned;
import android.text.style.ImageSpan;

public class MyFragmentPagerAdapter extends FragmentPagerAdapter{
	
	final int PAGE_COUNT = 3;
	Drawable myDrawable;

	/** Constructor of the class */
	public MyFragmentPagerAdapter(FragmentManager fm) {
		super(fm);
	}

	/** This method will be invoked when a page is requested to create */
	@Override
	public Fragment getItem(int arg0) {
		
		MyFragment myFragment = new MyFragment();
		Bundle data = new Bundle();
		data.putInt("current_page", arg0+1);
		myFragment.setArguments(data);
		return myFragment;
	}

	/** Returns the number of pages */
	@Override
	public int getCount() {		
		return PAGE_COUNT;
	}
	
	@Override
	public CharSequence getPageTitle(int position) {		
		//return "Page #" + ( position + 1 );
		
		SpannableStringBuilder sb = new SpannableStringBuilder(" Page #"+ position); // space added before text for convenience

	    myDrawable.setBounds(0, 0, myDrawable.getIntrinsicWidth(), myDrawable.getIntrinsicHeight()); 
	    ImageSpan span = new ImageSpan(myDrawable, ImageSpan.ALIGN_BASELINE); 
	    sb.setSpan(span, 0, 1, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); 

	    return sb;
	}
	
	
	
	
}


person Sammy    schedule 11.01.2016    source источник
comment
Пожалуйста, проверьте строку номер 45 вашего адаптера, что-то не объявлено в on-create() и используйте это напрямую, чтобы получить нулевой указатель. пожалуйста, вставьте код с номером строки.   -  person InsaneCat    schedule 11.01.2016
comment
Строка 45 — предпоследняя фигурная скобка. Поэтому я думаю, что это может указывать на строку: return sb; ??   -  person Sammy    schedule 11.01.2016