NullPointerException bei ActionBarImplICS (mit app compat) bei Langdruck

NullPointerException bei NullPointerException auf Feld

 compile 'com.android.support:appcompat-v7:19.1.+' 

XML

  • So verwenden Sie das neue Android Constraint Layout, um die Ansichtshierarchie zu reduzieren
  • Staatsliste ziehbarer und behinderter Zustand
  • Umschalten von AndEngine zu libgdx - was zu wissen?
  • Keine Orientierung angegeben, und die Voreinstellung ist horizontal. Dies ist eine häufige Quelle von Bugs, wenn Kinder dynamisch hinzugefügt werden
  • Schließung mehrere android Aktivitäten gleichzeitig
  • Wie bekomme ich die Breite des Containers, in dem meine Ansicht in Android hinzugefügt wird
  •  <EditText android:id="@+id/field" style="@style/Field" android:textSize="20sp" android:hint="@string/hint" android:nextFocusDown="@+id/other"/> 

    Stil

     <style name="Field" parent="Theme.AppCompat.Light"> <item name="android:layout_width">fill_parent</item> <item name="android:layout_height">wrap_content</item> <item name="android:textSize">14sp</item> <item name="android:textColor">@color/blue</item> <item name="android:singleLine">true</item> <item name="android:gravity">center_vertical</item> <item name="android:inputType">textCapCharacters|textNoSuggestions</item> <item name="android:imeOptions">actionNext</item> <item name="android:popupBackground">@color/white</item> </style> 

    LogCat

     java.lang.NullPointerException at android.support.v7.app.ActionBarImplICS.getThemedContext(ActionBarImplICS.java:302) at android.support.v7.app.ActionBarImplJB.getThemedContext(ActionBarImplJB.java:20) at android.support.v7.app.ActionBarActivityDelegate.getActionBarThemedContext(ActionBarActivityDelegate.java:208) at android.support.v7.app.ActionBarActivityDelegateICS.onActionModeStarted(ActionBarActivityDelegateICS.java:195) at android.support.v7.app.ActionBarActivityDelegateICS$WindowCallbackWrapper.onActionModeStarted(ActionBarActivityDelegateICS.java:359) at com.android.internal.policy.impl.PhoneWindow$DecorView.startActionMode(PhoneWindow.java:2437) at com.android.internal.policy.impl.PhoneWindow$DecorView.startActionModeForChild(PhoneWindow.java:2362) at android.view.ViewGroup.startActionModeForChild(ViewGroup.java:665) at android.view.ViewGroup.startActionModeForChild(ViewGroup.java:665) at android.view.ViewGroup.startActionModeForChild(ViewGroup.java:665) at android.view.ViewGroup.startActionModeForChild(ViewGroup.java:665) at android.view.View.startActionMode(View.java:4554) at android.widget.Editor.startSelectionActionMode(Editor.java:1551) at android.widget.Editor.performLongClick(Editor.java:859) at android.widget.TextView.performLongClick(TextView.java:8373) at android.view.View$CheckForLongPress.run(View.java:18441) at android.os.Handler.handleCallback(Handler.java:733) at android.os.Handler.dispatchMessage(Handler.java:95) at android.os.Looper.loop(Looper.java:136) at android.app.ActivityThread.main(ActivityThread.java:5102) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:515) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:785) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:601) at dalvik.system.NativeStart.main(Native Method) 

  • InflateException: Binäre XML-Datei Zeile # 22: Fehler beim Aufblasen der Klasse <unknown>
  • Gibt es eine Möglichkeit, die Schwelle für ViewPager-Scrollen anzupassen?
  • Android Unit Testing: Bundle / Paketierbar
  • Wie kann ich ein Optionsmenü in Android erstellen?
  • Exakte Unterschiede zwischen "Content-Provider" und "SQLite Database"
  • Android ICS-ähnliches Eingabefeld in CSS
  • 5 Solutions collect form web for “NullPointerException bei ActionBarImplICS (mit app compat) bei Langdruck”

    Die ActionBar ist null. Das ist, weil du eine Aktivität ohne Titel benutzt hast (und damit auch ohne Actionbar):

     requestWindowFeature(Window.FEATURE_NO_TITLE); 

    Es gibt zwei Möglichkeiten, es zu beheben.

    Einfach :
    Machen Sie YourActivity NICHT erweitert ActionBarActivity aber normale Activity .

    Schwieriger :
    Machen Sie transparente ActionBar ohne Titel, kein Icon, keine Home-Taste etc. Wie dies zu tun? Zuerst definiere ActionBar-Stil und neues Thema, das YourAppTheme :

     <!-- Your App Theme--> <style name="YourAppTheme.Light" parent="@style/Theme.AppCompat.Light"> <...> </style> <!-- Transparent ActionBar Style --> <style name="YourAppTheme.Light.ActionBar.Transparent" parent="@style/Widget.AppCompat.Light.ActionBar"> <item name="android:background">@android:color/transparent</item> <item name="background">@android:color/transparent</item> </style> <!-- Fullscreen Activity Theme --> <style name="YourAppTheme.FullScreen.Light" parent="@style/YourAppTheme.Light"> <item name="android:actionBarStyle">@style/YourAppTheme.Light.ActionBar.Transparent</item> <item name="actionBarStyle">@style/YourAppTheme.Light.ActionBar.Transparent</item> <item name="android:windowIsTranslucent">true</item> <item name="android:windowContentOverlay">@null</item> <item name="android:backgroundDimEnabled">false</item> <item name="android:windowActionBarOverlay">true</item> <item name="windowActionBarOverlay">true</item> </style> 

    Als nächstes setzen Sie dieses Thema auf Ihre Vollbild-Aktivität:

     <activity android:name="your.package.name.YourFullscreenActivity" android:label="@string/app_name" android:theme="@style/YourAppTheme.FullScreen.Light" /> 

    Schließlich fügen Sie folgende Zeilen zu YourFullscreenActivity#onCreate Methode hinzu:

     getSupportActionBar().setDisplayHomeAsUpEnabled(false); getSupportActionBar().setDisplayShowHomeEnabled(false); getSupportActionBar().setDisplayShowTitleEnabled(false); 

    Ich hoffe es wird helfen.

    Ich denke, ich habe eine bessere Lösung für dieses Problem.

    Remove requestWindowFeature(Window.FEATURE_NO_TITLE); Von der Aktivität und <item name="android:windowNoTitle">true</item> vom Aktivitätsthema.

    Zu Ihrem Aktivitätscode hinzufügen:

    To onCreate() -Methode

     View actionBar = getActionBarView(); if (actionBar != null) { actionBar.setVisibility(View.GONE); } 

    Zur Aktivitätsklasse:

     public View getActionBarView() { Window window = getWindow(); View v = window.getDecorView(); int resId; if (Build.VERSION.SDK_INT < Build.VERSION_CODES.HONEYCOMB) { resId = getResources().getIdentifier( "action_bar_container", "id", getPackageName()); } else { resId = Resources.getSystem().getIdentifier( "action_bar_container", "id", "android"); } if (resId != 0) { return v.findViewById(resId); } else { return null; } } @Override public void onSupportActionModeStarted(ActionMode mode) { super.onSupportActionModeStarted(mode); View actionBar = getActionBarView(); if (actionBar != null) { actionBar.setVisibility(View.VISIBLE); } } @Override public void onSupportActionModeFinished(ActionMode mode) { super.onSupportActionModeFinished(mode); View actionBar = getActionBarView(); if (actionBar != null) { actionBar.setVisibility(View.GONE); } } 

    Dies ist die Aktionsleiste zu entfernen und gleichzeitig können Sie Text in Text bearbeiten mit Aktionsmodus-Tasten zu manipulieren.

    Prost

    Die zweite Lösung für die obige Antwort funktioniert, aber verursacht die obere Zeile, die von der Aktionsleiste abgedeckt werden würde, um zu kippen. Legen Sie die Größe Element auf Null in der Actionbar-Stil, um dieses Problem zu lösen:

     <item name="android:height">0dp</item> 

    Ich denke, erakitin ist eine sehr gute Antwort, und leise einfach, wenn du die "NICHT erweitern ActionBarActivity , aber im Falle jemand braucht oder wollen, um diese Änderung zu vermeiden, ich verlasse eine andere Antwort, die ich denke, ist auch sehr einfach und löst Das Problem PERFEKT.

    Versuchen Sie, dies dem Thema Ihrer Aktivität hinzuzufügen.

     <item name="android:windowActionBar">false</item> 
     public class MainActivity extends ActionBarActivity 

    Ändern:

     public class MainActivity extends Activity 
    Das Android ist ein Google Android Fan-Website, Alles ├╝ber Android Phones, Android Wear, Android Dev und Android Spiele Apps und so weiter.