2017-11-01 2 views
0

Es tut mir leid schlecht Englisch. Ich bin neu in Android Studio und Java. Dies ist vielleicht grundlegend, aber keine Antwort von anderen gleichen Fragen löst mein Problem. es heißt, dass meine Hauptaktivität und andere Aktivität ist keine abstrakte Methode und überschreibt nicht die abstrakte Methode auf OnNavigationItemSelectedListener.Mein Programm stürzt auf Emulator

So fand ich einige Lösungen, die das Problem beheben, indem Sie diese Aktivität auf abstrakte oder implementieren Sie die Methode ändern. Aber das Programm stürzt ab und stoppte, als es auf dem Emulator initialisiert wurde. Ich kann keine Lösung finden, ich habe die Log-Katze gelesen und kann nicht herausfinden, was mit meinem Code nicht stimmt.

Hilfe?

hier ist meine Haupttätigkeit:

package com.example.andik.inibudi; 

import android.content.Intent; 
import android.support.annotation.NonNull; 
import android.support.design.widget.NavigationView; 
import android.support.v4.view.GravityCompat; 
import android.support.v4.widget.DrawerLayout; 
import android.support.v7.app.ActionBarDrawerToggle; 
import android.support.v7.app.AppCompatActivity; 
import android.os.Bundle; 
import android.support.v7.widget.Toolbar; 
import android.view.Menu; 
import android.view.MenuItem; 
import android.widget.Gallery; 

public class MainActivity extends AppCompatActivity implements NavigationView.OnNavigationItemSelectedListener { 

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

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

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

    } 

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

    @Override 
    public boolean onCreateOptionsMenu(Menu menu) { 
     getMenuInflater().inflate(R.menu.nav_drawer, menu); 
     return true; 
    } 

    @Override 
    public boolean onOptionsItemSelected(MenuItem item) { 
     int id = item.getItemId(); 

     if (id == R.id.action_settings) { 
      return true; 
     } 
     return super.onOptionsItemSelected(item); 
    } 

    public boolean onNavigationsItemSelected(MenuItem item) { 
     int id = item.getItemId(); 

     if (id == R.id.gallery) { 
      Intent searchIntent = new Intent(MainActivity.this, com.example.andik.inibudi.Gallery.class); 
      startActivity(searchIntent); 
      overridePendingTransition(R.anim.pull_in_right, R.anim.push_out_left); 
     } else if (id == R.id.fileimport) { 
      Intent searchIntent = new Intent(MainActivity.this, FileImport.class); 
      startActivity(searchIntent); 
      overridePendingTransition(R.anim.pull_in_right, R.anim.push_out_left); 
     } else if (id == R.id.slideshow) { 
      Intent searchIntent = new Intent(MainActivity.this, SlideShow.class); 
      startActivity(searchIntent); 
      overridePendingTransition(R.anim.pull_in_right, R.anim.push_out_left); 
     } 
     DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout); 
     drawer.closeDrawer(GravityCompat.START); 
     return true; 
    } 


} 

und das ist mein log Katze:

11-01 05:22:41.367 6008-6008/? E/AndroidRuntime: FATAL EXCEPTION: main 
               Process: com.example.andik.inibudi, PID: 6008 
               java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.andik.inibudi/com.example.andik.inibudi.MainActivity}: android.view.InflateException: Binary XML file line #12: Binary XML file line #2: Error inflating class RelativeLayoutLayout 
                at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2817) 
                at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2892) 
                at android.app.ActivityThread.-wrap11(Unknown Source:0) 
                at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1593) 
                at android.os.Handler.dispatchMessage(Handler.java:105) 
                at android.os.Looper.loop(Looper.java:164) 
                at android.app.ActivityThread.main(ActivityThread.java:6541) 
                at java.lang.reflect.Method.invoke(Native Method) 
                at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240) 
                at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:767) 
                Caused by: android.view.InflateException: Binary XML file line #12: Binary XML file line #2: Error inflating class RelativeLayoutLayout 
                Caused by: android.view.InflateException: Binary XML file line #2: Error inflating class RelativeLayoutLayout 
                Caused by: java.lang.ClassNotFoundException: Didn't find class "android.view.RelativeLayoutLayout" on path: DexPathList[[zip file "/data/app/com.example.andik.inibudi-9Kf2k2xmP7LCW9vSmyH9Lg==/base.apk", zip file "/data/app/com.example.andik.inibudi-9Kf2k2xmP7LCW9vSmyH9Lg==/split_lib_dependencies_apk.apk", zip file "/data/app/com.example.andik.inibudi-9Kf2k2xmP7LCW9vSmyH9Lg==/split_lib_slice_0_apk.apk", zip file "/data/app/com.example.andik.inibudi-9Kf2k2xmP7LCW9vSmyH9Lg==/split_lib_slice_1_apk.apk", zip file "/data/app/com.example.andik.inibudi-9Kf2k2xmP7LCW9vSmyH9Lg==/split_lib_slice_2_apk.apk", zip file "/data/app/com.example.andik.inibudi-9Kf2k2xmP7LCW9vSmyH9Lg==/split_lib_slice_3_apk.apk", zip file "/data/app/com.example.andik.inibudi-9Kf2k2xmP7LCW9vSmyH9Lg==/split_lib_slice_4_apk.apk", zip file "/data/app/com.example.andik.inibudi-9Kf2k2xmP7LCW9vSmyH9Lg==/split_lib_slice_5_apk.apk", zip file "/data/app/com.example.andik.inibudi-9Kf2k2xmP7LCW9vSmyH9Lg==/split_lib_slice_6_apk.apk", zip file "/data/app/com.example.andik.inibudi-9Kf2k2xmP7LCW9vSmyH9Lg==/split_lib_slice_7_apk.apk", zip file "/data/app/com.example.andik.inibudi-9Kf2k2xmP7LCW9vSmyH9Lg==/split_lib_slice_8_apk.apk", zip file "/data/app/com.example.andik.inibudi-9Kf2k2xmP7LCW9vSmyH9Lg==/split_lib_slice_9_apk.apk"],nativeLibraryDirectories=[/data/app/com.example.andik.inibudi-9Kf2k2xmP7LCW9vSmyH9Lg==/lib/x86, /system/lib, /system/vendor/lib]] 
                at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:93) 
                at java.lang.ClassLoader.loadClass(ClassLoader.java:379) 
                at java.lang.ClassLoader.loadClass(ClassLoader.java:312) 
                at android.view.LayoutInflater.createView(LayoutInflater.java:606) 
                at android.view.LayoutInflater.onCreateView(LayoutInflater.java:703) 
                at com.android.internal.policy.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:68) 
                at android.view.LayoutInflater.onCreateView(LayoutInflater.java:720) 
                at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:788) 
                at android.view.LayoutInflater.parseInclude(LayoutInflater.java:965) 
                at android.view.LayoutInflater.rInflate(LayoutInflater.java:859) 
                at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:824) 
                at android.view.LayoutInflater.parseInclude(LayoutInflater.java:995) 
                at android.view.LayoutInflater.rInflate(LayoutInflater.java:859) 
                at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:824) 
                at android.view.LayoutInflater.inflate(LayoutInflater.java:515) 
                at android.view.LayoutInflater.inflate(LayoutInflater.java:423) 
                at android.view.LayoutInflater.inflate(LayoutInflater.java:374) 
                at android.support.v7.app.AppCompatDelegateImplV9.setContentView(AppCompatDelegateImplV9.java:289) 
                at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:139) 
+1

In der 'activity_main' Layout, Sie habe ein '' Element. Es ist nur ''. Du hast einen zu vielen 'Layout' im Namen. –

+0

danke, es hat funktioniert, ich habe das verpasst – KeR

Antwort

0

Dies liegt daran, dass Sie nicht richtig NavigationView.OnNavigationItemSelectedListener außer Kraft gesetzt hat. Sie Hinzufügen der folgenden Methode:

public boolean onNavigationsItemSelected(MenuItem item) { 
} 

Aber es sein sollte:

public boolean onNavigationItemSelected(MenuItem item) { 
} 

Ein anderer Fehler als @ mike-m unter Hinweis darauf, Sie haben auch eine falsche Layout-Ansicht:

RelativeLayoutLayout 

Es sollte

sein
RelativeLayout 
+0

Es hat funktioniert !!! vielen Dank. Ich habe noch so viel zu lernen – KeR

+0

Es ist wirklich ein Vergnügen, dass ich meinen Landsleuten helfen kann;) –

Verwandte Themen