Cómo pasar argumentos al fragmento de la actividad

Tengo una actividad que crea instancias y puebla un Fragmento a través de una clase adoptante. Quiero pasar valores / objetos a esta clase de adoptante de Fragmentos para poder dictar el diseño, etc.

He intentado pasar paquetes usando el método setArgument, pero mi código funciona y no estoy seguro de por qué. Según tengo entendido, puedo recopilar el paquete en el método onCreate en la clase adoptante. Veo que los argumentos se establecen correctamente inmediatamente después del código comentado, pero lamentablemente se bloquea después de eso y no entiendo por qué. Si elimino el código del paquete, no se bloquea. :(

A continuación se muestra mi código, ¿alguien sabe dónde debo poner el código del paquete, comentado?

public class LoginScreen extends ActionBarActivity {
    private final String ARG_SELECTED_LAYOUT_ID = "selectedLayoutId";
private final int DEFAULT_LAYOUT = R.layout.layout_list;

private int mSelectedLayoutId;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_login);

    ActionBar actionBar = getSupportActionBar();
    actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
    actionBar.setDisplayShowTitleEnabled(false);
    actionBar.setDisplayShowHomeEnabled(false);

    mSelectedLayoutId = DEFAULT_LAYOUT;
    if (savedInstanceState != null) {
        mSelectedLayoutId = savedInstanceState.getInt(ARG_SELECTED_LAYOUT_ID);
    }

    addLayoutTab(
            actionBar, R.layout.layout_list, R.drawable.ic_list, "list");
    addLayoutTab(
            actionBar, R.layout.layout_grid, R.drawable.ic_grid, "grid");
    addLayoutTab(
            actionBar, R.layout.layout_staggered_grid, R.drawable.ic_staggered, "staggered");
    addLayoutTab(
            actionBar, R.layout.layout_spannable_grid, R.drawable.ic_spannable, "spannable");
}

@Override
protected void onSaveInstanceState(Bundle outState) {
    super.onSaveInstanceState(outState);
    outState.putInt(ARG_SELECTED_LAYOUT_ID, mSelectedLayoutId);
}

private void addLayoutTab(ActionBar actionBar, int layoutId, int iconId, String tag) {
    ActionBar.Tab tab = actionBar.newTab()
            .setText("")
            .setIcon(iconId)
            .setTabListener(new TabListener(layoutId, tag));
    actionBar.addTab(tab, layoutId == mSelectedLayoutId);
}

public class TabListener implements ActionBar.TabListener {
    private LayoutFragment mFragment;
    private final int mLayoutId;
    private final String mTag;


    public TabListener(int layoutId, String tag) {
        mLayoutId = layoutId;
        mTag = tag;
    }

    @Override
    public void onTabSelected(ActionBar.Tab tab, FragmentTransaction ft) {
        mFragment = (LayoutFragment) getSupportFragmentManager().findFragmentByTag(mTag);



        if (mFragment == null) {
            mFragment = (LayoutFragment) LayoutFragment.newInstance(mLayoutId);
            ft.add(R.id.content, mFragment, mTag);

        } else {
            ft.attach(mFragment);
        }


        /*
            Bundle bundle = new Bundle();
            bundle.putInt("noTiles", 4);
            mFragment.setArguments(bundle);           
        */

        mSelectedLayoutId = mFragment.getLayoutId();
    }

    @Override
    public void onTabUnselected(ActionBar.Tab tab, FragmentTransaction ft) {
        if (mFragment != null) {
            ft.detach(mFragment);
        }
    }

    @Override
    public void onTabReselected(ActionBar.Tab tab, FragmentTransaction ft) {
    }
}

}

Logcat

03-03 11:56:53.675  32507-32507/weebuns.predictionking E/AndroidRuntime﹕ FATAL EXCEPTION: main
    Process: weebuns.predictionking, PID: 32507
    java.lang.RuntimeException: Unable to start activity ComponentInfo{weebuns.predictionking/weebuns.predictionking.LoginScreen}: java.lang.NullPointerException: Attempt to invoke virtual method 'void weebuns.predictionking.LayoutFragment.setArguments(android.os.Bundle)' on a null object reference
            at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2298)
            at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2360)
            at android.app.ActivityThread.access$800(ActivityThread.java:144)
            at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1278)
            at android.os.Handler.dispatchMessage(Handler.java:102)
            at android.os.Looper.loop(Looper.java:135)
            at android.app.ActivityThread.main(ActivityThread.java:5221)
            at java.lang.reflect.Method.invoke(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:372)
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694)
     Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'void weebuns.predictionking.LayoutFragment.setArguments(android.os.Bundle)' on a null object reference

Respuestas a la pregunta(5)

Su respuesta a la pregunta