Ошибка android: FATAL EXCEPTION: main

У меня такая ошибка, это произошло при попытке поставить Spinner:

FATAL EXCEPTION: main java.lang.RuntimeException: Unable to start activity ComponentInfo{mx.ipn.myprefect/mx.ipn.myprefect.Home}: java.lang.NullPointerException at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2266) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2316) at android.app.ActivityThread.access$600(ActivityThread.java:150) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1298) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loop(Looper.java:213) at android.app.ActivityThread.main(ActivityThread.java:5225) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:525) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:741) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:557) at dalvik.system.NativeStart.main(Native Method) Caused by: java.lang.NullPointerException at mx.ipn.myprefect.Home.onCreate(Home.java:44) at android.app.Activity.performCreate(Activity.java:5133) at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2230) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2316) at android.app.ActivityThread.access$600(ActivityThread.java:150) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1298) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loop(Looper.java:213) at android.app.ActivityThread.main(ActivityThread.java:5225) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:525) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:741) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:557) at dalvik.system.NativeStart.main(Native Method)

Это все мои домашние действия, но ошибка в методе onCreate:

public class Home extends AppCompatActivity
        implements NavigationView.OnNavigationItemSelectedListener{

    private Toolbar toolbar;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_home);
        Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
        setSupportActionBar(toolbar);

        DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
        ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(
                this, drawer, toolbar, R.string.navigation_drawer_open, R.string.navigation_drawer_close);
        drawer.addDrawerListener(toggle);
        toggle.syncState();

        NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view);
        navigationView.setNavigationItemSelectedListener(this);

        Spinner select = findViewById(R.id.select_group);
        ArrayAdapter<String> aaGroup = new ArrayAdapter<String>(Home.this, android.R.layout.simple_list_item_1,
                getResources().getStringArray(R.array.groups));
        aaGroup.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        select.setAdapter(aaGroup);

        FragmentManager fm = getSupportFragmentManager();
        fm.beginTransaction().replace(R.id.contenedor, new BackHome()).commit();

    }

    public void mandar(View view){
        toolbar = (Toolbar)findViewById(R.id.toolbar);
        FragmentManager fm = getSupportFragmentManager();
        MenuRedirect mr = new MenuRedirect();
        Intent it;
        switch (view.getId()){
            case R.id.optionSchedule:
                mr.setOption(1);
                it = new Intent(Home.this, MenuRedirect.class);
                startActivity(it);
                break;
            case R.id.optionReport:
                mr.setOption(2);
                it = new Intent(Home.this, MenuRedirect.class);
                startActivity(it);
                break;
            case R.id.optionStudent:
                mr.setOption(3);
                it = new Intent(Home.this, MenuRedirect.class);
                startActivity(it);
                break;
            default:
                toolbar.setTitle(R.string.title_activity_home);
                fm.beginTransaction().setCustomAnimations(R.anim.enter_from_right, R.anim.exit_to_right)
                        .replace(R.id.contenedor, new BackHome()).commit();
                break;
        }
    }

    @Override
    public void onBackPressed() {
        DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
        if (drawer.isDrawerOpen(GravityCompat.START)) {
            drawer.closeDrawer(GravityCompat.START);
        } else {
            super.onBackPressed();
        }
    }

    @SuppressWarnings("StatementWithEmptyBody")
    @Override
    public boolean onNavigationItemSelected(MenuItem item) {
        toolbar = (Toolbar)findViewById(R.id.toolbar);
        int id = item.getItemId();
        FragmentManager fm = getSupportFragmentManager();
        Intent it;

        if (id == R.id.nav_home) {
            toolbar.setTitle(R.string.title_activity_home);
            fm.beginTransaction().setCustomAnimations(R.anim.enter_from_right, R.anim.exit_to_right)
                    .replace(R.id.contenedor, new BackHome()).commit();
        } else if (id == R.id.nav_camera) {

        } else if (id == R.id.nav_schedule) {
            it = new Intent(Home.this, MenuRedirect.class);
            it.putExtra("option", 1);
            startActivity(it);
        } else if (id == R.id.nav_reports) {
            it = new Intent(Home.this, MenuRedirect.class);
            it.putExtra("option", 2);
            startActivity(it);
        } else if (id == R.id.nav_students) {
            it = new Intent(Home.this, MenuRedirect.class);
            it.putExtra("option", 3);
            startActivity(it);
        } else if (id == R.id.nav_logout) {
            it = new Intent(Home.this, Login.class);
            startActivity(it);
        }else if (id == R.id.nav_settings) {
            toolbar.setTitle(R.string.action_settings);

        }else if (id == R.id.nav_info) {
            toolbar.setTitle(R.string.menu_start_inf_two);
            fm.beginTransaction().setCustomAnimations(R.anim.enter_from_right, R.anim.exit_to_right)
                    .replace(R.id.contenedor, new Info()).commit();
        }

        DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
        drawer.closeDrawer(GravityCompat.START);
        return true;
    }
}

А это мой фрагмент:

LinearLayout xmlns:android = "http://schemas.android.com/apk/res/android"
    xmlns:tools = "http://schemas.android.com/tools"
    android:layout_width = "match_parent"
    android:layout_height = "match_parent"
    tools:context = "mx.ipn.myprefect.Schedule"
    android:orientation = "vertical">

    <TextView
        android:layout_marginTop = "15dp"
        android:id = "@+id/tv_schedule_present"
        android:layout_width = "wrap_content"
        android:layout_height = "wrap_content"
        android:layout_gravity = "center_horizontal"
        android:text = "@string/schedule_TextView"
        android:textStyle = "italic"
        android:fontFamily = "serif"
        android:textSize = "18sp"/>

    <Spinner
        android:id = "@+id/select_group"
        android:layout_marginTop = "15dp"
        android:layout_marginStart = "50dp"
        android:layout_width = "wrap_content"
        android:layout_height = "wrap_content" />

</LinearLayout>

В чем проблема? ): Если я удалю select.setAdapter (), он больше не покажет мне никаких ошибок

Если этот Spinner находится в Fragment, вы должны обрабатывать его в Fragment, а не в Activity.

Mike M. 02.04.2018 05:44
findViewById(R.id.select_group) вернул ноль, потому что этот счетчик не находится в действии.
OneCricketeer 02.04.2018 05:50

Но я не могу найти представление с помощью findViewById в классе фрагмента.

Alessia Houston 02.04.2018 06:51
stackoverflow.com/a/6496013
Mike M. 02.04.2018 06:55
0
4
70
0

Другие вопросы по теме