XML を解析し、解析した文字列を pagetitles に表示したいのですが、nullponiterexception が発生します。
ここに私のスプラッシュアクティビティがあります:
package de.heron.xmlpullparser;
import java.lang.reflect.Array;
import java.util.ArrayList;
import java.util.List;
import android.app.ProgressDialog;
import android.content.Context;
import android.content.Intent;
import android.os.AsyncTask;
import android.os.Bundle;
import android.os.Handler;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentActivity;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import de.heron.R;
import de.heron.SettingsActivity;
import de.heron.model.RoomReader;
import de.heron.parser.RoomParser;
public class SplashActivity extends FragmentActivity{
    private RoomParser mNewsFeeder;
    private List<RoomReader> mRssFeedList;
    private static final String TOPSTORIES =
            "URL";
    public static String[] TabTitles = {RoomReader.getName()};
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_striptabs);
        mRssFeedList = new ArrayList<RoomReader>();
        new DoRssFeedTask().execute(TOPSTORIES);    
    }
    static class RssHolder {
        //textview textview1; usw...
    }
    public class DoRssFeedTask extends AsyncTask<String, Void, List<RoomReader>> {
        ProgressDialog prog;
        String jsonStr = null;
        Handler innerHandler;
        @Override
        protected void onPreExecute() {
            //Context context = getContext();
            prog = new ProgressDialog(SplashActivity.this);
            prog.setMessage("Loading....");
            prog.show();
        }
        @Override
        protected List<RoomReader> doInBackground(String... params) {
            for (String urlVal : params) {
                mNewsFeeder = new RoomParser(urlVal);
            }
            mRssFeedList = mNewsFeeder.parse();
            return mRssFeedList;
        }
        @Override
        protected void onPostExecute(List<RoomReader> result) {
            prog.dismiss();
            String key = "key";
             Bundle b=new Bundle();
             b.putStringArray(key, new String[]{RoomReader.getName()});
             Intent i=new Intent(SplashActivity.this, MainActivity.class);
             i.putExtras(b);
             SplashActivity.this.startActivity(i);
        }
        @Override
        protected void onProgressUpdate(Void... values) {
        }
    }  
  }
ここに私のフラグメントアダプターがあります:
    public class MyPagerAdapter extends FragmentPagerAdapter{
String key = "key";
        Bundle b = MainActivity.this.getIntent().getExtras();
    //public final String[] TITLES =  b.getStringArray(key);
        public final String[] TITLES = SplashActivity.TabTitles;
        public MyPagerAdapter(FragmentManager fm) {
            super(fm);
        }
        @Override
        public CharSequence getPageTitle(int position) {
            return SplashActivity.TabTitles[position];//TITLES[position];
             }
        @Override
        public Fragment getItem(int position) {
            Fragment fragment = new Fragment1();
            Bundle args = new Bundle();
            args.putInt(Fragment1.position, position + 1);
            fragment.setArguments(args);
            return fragment;
        }
        /*@Override  
        public Fragment getItem(int position) {  
            Fragment fragment = new Fragment();  
            switch (position) {  
            case 0:  
                return fragment = new Fragment1();  
            case 1:  
                return fragment = new Fragment2();
            default:  
                break;  
            }  
            return fragment;  
    }*/
        @Override
        public int getCount() {
            return TITLES.length;
        }
    }
そして、これが私の mainactivty の私の非同期タスクです:
 private class RssAdapter extends ArrayAdapter<RoomReader> {
        public RssAdapter(Context context, int textViewResourceId, List<RoomReader> rssFeedLst) {
            super(context, textViewResourceId, rssFeedLst);
        }
        @Override
        public View getView(int position, View convertView, ViewGroup parent) {
            View view = convertView;
            RssHolder rssHolder = null;
            if (convertView == null) {
                //textview id setzten usw..
                view.setTag(rssHolder);
            } else {
                rssHolder = (RssHolder) view.getTag();
                //textview set text RoomReader.getName() usw...
            }
            return view;
        }
    }
    static class RssHolder {
        //textview textview1; usw...
    }
    public class DoRssFeedTask extends AsyncTask<String, Void, List<RoomReader>> {
        ProgressDialog prog;
        String jsonStr = null;
        Handler innerHandler;
        @Override
        protected void onPreExecute() {
            //Context context = getContext();
            prog = new ProgressDialog(MainActivity.this);
            prog.setMessage("Loading....");
            prog.show();
        }
        @Override
        protected List<RoomReader> doInBackground(String... params) {
            for (String urlVal : params) {
                mNewsFeeder = new RoomParser(urlVal);
            }
            mRssFeedList = mNewsFeeder.parse();
            return mRssFeedList;
        }
        @Override
        protected void onPostExecute(List<RoomReader> result) {
            prog.dismiss();
        }
        @Override
        protected void onProgressUpdate(Void... values) {
        }
}
私のmainactivityからのoncreate:
 private ListView mRssListView;
    private RoomParser mNewsFeeder;
    private List<RoomReader> mRssFeedList;
    private RssAdapter mRssAdap;
    private static final String TOPSTORIES =
            "the url";
    private PagerSlidingTabStrip tabs;
    private ViewPager pager;
    private MyPagerAdapter adapter;
     private static TextToSpeech tts;
        private static final int REQUEST_CODE = 1234;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_striptabs);
        tts = new TextToSpeech(this, this);
        mRssFeedList = new ArrayList<RoomReader>();
        new DoRssFeedTask().execute(TOPSTORIES);
        tabs = (PagerSlidingTabStrip) findViewById(R.id.tabs);
        pager = (ViewPager) findViewById(R.id.pager);
        adapter = new MyPagerAdapter(getSupportFragmentManager());
        pager.setAdapter(adapter);
        final int pageMargin = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 4, getResources()
                .getDisplayMetrics());
        pager.setPageMargin(pageMargin);
        tabs.setViewPager(pager);
    }   
ログ:
08-12 18:06:00.110: E/AndroidRuntime(21128): FATAL EXCEPTION: main
08-12 18:06:00.110: E/AndroidRuntime(21128): java.lang.RuntimeException: Unable to start activity ComponentInfo{de.heron/de.heron.xmlpullparser.MainActivity}: java.lang.NullPointerException
08-12 18:06:00.110: E/AndroidRuntime(21128):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2211)
08-12 18:06:00.110: E/AndroidRuntime(21128):    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2261)
08-12 18:06:00.110: E/AndroidRuntime(21128):    at android.app.ActivityThread.access$600(ActivityThread.java:141)
08-12 18:06:00.110: E/AndroidRuntime(21128):    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1256)
08-12 18:06:00.110: E/AndroidRuntime(21128):    at android.os.Handler.dispatchMessage(Handler.java:99)
08-12 18:06:00.110: E/AndroidRuntime(21128):    at android.os.Looper.loop(Looper.java:137)
08-12 18:06:00.110: E/AndroidRuntime(21128):    at android.app.ActivityThread.main(ActivityThread.java:5103)
08-12 18:06:00.110: E/AndroidRuntime(21128):    at java.lang.reflect.Method.invokeNative(Native Method)
08-12 18:06:00.110: E/AndroidRuntime(21128):    at java.lang.reflect.Method.invoke(Method.java:525)
08-12 18:06:00.110: E/AndroidRuntime(21128):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737)
08-12 18:06:00.110: E/AndroidRuntime(21128):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
08-12 18:06:00.110: E/AndroidRuntime(21128):    at dalvik.system.NativeStart.main(Native Method)
08-12 18:06:00.110: E/AndroidRuntime(21128): Caused by: java.lang.NullPointerException
08-12 18:06:00.110: E/AndroidRuntime(21128):    at com.astuetz.viewpager.extensions.PagerSlidingTabStrip.notifyDataSetChanged(PagerSlidingTabStrip.java:200)
08-12 18:06:00.110: E/AndroidRuntime(21128):    at com.astuetz.viewpager.extensions.PagerSlidingTabStrip.setViewPager(PagerSlidingTabStrip.java:182)
08-12 18:06:00.110: E/AndroidRuntime(21128):    at de.heron.xmlpullparser.MainActivity.onCreate(MainActivity.java:72)
08-12 18:06:00.110: E/AndroidRuntime(21128):    at android.app.Activity.performCreate(Activity.java:5133)
08-12 18:06:00.110: E/AndroidRuntime(21128):    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
08-12 18:06:00.110: E/AndroidRuntime(21128):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2175)
08-12 18:06:00.110: E/AndroidRuntime(21128):    ... 11 more