Main Activity
Код: Выделить всё
package com.example.mytabs;
import android.os.Bundle;
import android.support.v4.app.FragmentTransaction;
import android.support.v7.app.ActionBar;
import android.support.v7.app.ActionBar.Tab;
import android.support.v7.app.ActionBar.TabListener;
import android.support.v7.app.ActionBarActivity;
public class MainActivity extends ActionBarActivity implements TabListener {
public static final String key_screen_number = "key_screen_number";
ActionBar ab;
FragmentTransaction ft;
ScreenFragment screen_fragment;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
ab.setSelectedNavigationItem(0);
ab = getSupportActionBar();
ab.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
Tab tab = ab.newTab();
tab.setText("Screen 1");
tab.setTabListener(this);
ab.addTab(tab, 0, true);
tab = ab.newTab();
tab.setText("Screen 2");
tab.setTabListener(this);
ab.addTab(tab, 1, false);
tab = ab.newTab();
tab.setText("Screen 3");
tab.setTabListener(this);
ab.addTab(tab, 2, false);
}
@Override
public void onTabReselected(Tab tab, FragmentTransaction ft) {
// TODO Auto-generated method stub
}
@Override
public void onTabSelected(Tab tab, FragmentTransaction ft) {
screen_fragment = new ScreenFragment();
Bundle args = new Bundle();
args.putInt(key_screen_number, tab.getPosition() + 1);
screen_fragment.setArguments(args);
ft.replace(android.support.v7.appcompat.R.id.action_bar_activity_content, screen_fragment);
}
@Override
public void onTabUnselected(Tab tab, FragmentTransaction ft) {
// TODO Auto-generated method stub
}
}
Код: Выделить всё
package com.example.mafiatabs;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
public class ScreenFragment extends Fragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
TextView tv = new TextView(getActivity());
tv.setText("Screen " + getArguments().getInt(MainActivity.key_screen_number));
tv.setTextSize(30);
return tv;
}
}
Код: Выделить всё
03-28 10:32:12.472: D/AndroidRuntime(336): Shutting down VM
03-28 10:32:12.482: W/dalvikvm(336): threadid=1: thread exiting with uncaught exception (group=0x40015560)
03-28 10:32:12.502: E/AndroidRuntime(336): FATAL EXCEPTION: main
03-28 10:32:12.502: E/AndroidRuntime(336): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.mafiatabs/com.example.mafiatabs.MainActivity}: java.lang.NullPointerException
03-28 10:32:12.502: E/AndroidRuntime(336): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1647)
03-28 10:32:12.502: E/AndroidRuntime(336): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1663)
03-28 10:32:12.502: E/AndroidRuntime(336): at android.app.ActivityThread.access$1500(ActivityThread.java:117)
03-28 10:32:12.502: E/AndroidRuntime(336): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:931)
03-28 10:32:12.502: E/AndroidRuntime(336): at android.os.Handler.dispatchMessage(Handler.java:99)
03-28 10:32:12.502: E/AndroidRuntime(336): at android.os.Looper.loop(Looper.java:123)
03-28 10:32:12.502: E/AndroidRuntime(336): at android.app.ActivityThread.main(ActivityThread.java:3683)
03-28 10:32:12.502: E/AndroidRuntime(336): at java.lang.reflect.Method.invokeNative(Native Method)
03-28 10:32:12.502: E/AndroidRuntime(336): at java.lang.reflect.Method.invoke(Method.java:507)
03-28 10:32:12.502: E/AndroidRuntime(336): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
03-28 10:32:12.502: E/AndroidRuntime(336): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
03-28 10:32:12.502: E/AndroidRuntime(336): at dalvik.system.NativeStart.main(Native Method)
03-28 10:32:12.502: E/AndroidRuntime(336): Caused by: java.lang.NullPointerException
03-28 10:32:12.502: E/AndroidRuntime(336): at com.example.mafiatabs.MainActivity.onCreate(MainActivity.java:26)
03-28 10:32:12.502: E/AndroidRuntime(336): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
03-28 10:32:12.502: E/AndroidRuntime(336): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1611)
03-28 10:32:12.502: E/AndroidRuntime(336): ... 11 more