2016-05-12 2 views
-4

Ich versuche navigationbar durch diesen Code zu verstecken:How To gegangen (nicht unsichtbar) NavigationBar?

public static void setFullscreen(final View decorView) { 
    decorView.setOnSystemUiVisibilityChangeListener(new View.OnSystemUiVisibilityChangeListener() { 
     @Override 
     public void onSystemUiVisibilityChange(int visibility) { 
      if ((visibility & View.SYSTEM_UI_FLAG_FULLSCREEN) == 0) { 
       decorView.setSystemUiVisibility(
         View.SYSTEM_UI_FLAG_LAYOUT_STABLE 
           | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION 
           | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN 
           | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION 
           | View.SYSTEM_UI_FLAG_FULLSCREEN 
           | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY); 
      } 

     } 
    }); 

    if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.JELLY_BEAN) { 
     decorView.setSystemUiVisibility(decorView.getSystemUiVisibility()); 
    } 
} 

Und für jede Aktivität:

@Override 
public void onWindowFocusChanged(boolean hasFocus) { 
    super.onWindowFocusChanged(hasFocus); 
    if (hasFocus) { 
     getWindow().getDecorView().setSystemUiVisibility(
       View.SYSTEM_UI_FLAG_LAYOUT_STABLE 
         | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION 
         | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN 
         | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION 
         | View.SYSTEM_UI_FLAG_FULLSCREEN 
         | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY);} 
} 

Thema und Aktivitäten:

<style name="Theme.AppCompat.Light.NoActionBar.FullScreen" parent="@style/Theme.AppCompat.Light"> 
    <item name="windowNoTitle">true</item> 
    <item name="windowActionBar">true</item> 
    <item name="android:windowFullscreen">true</item> 
    <item name="android:windowContentOverlay">@null</item> 
</style> 

ich Erfolg NavifationBar, aber navigationbar zu verstecken nur unsichtbar, nicht weg!

So echte Frage ist Wie gegangen Navigation bar?

Entschuldigung für mein schlechtes Englisch.

+0

Verwenden 'error_reporting (E_ALL);' und Ihre Frage zu aktualisieren, um die repost bitte hinzufügen. – asurbernardo

+0

Haben Sie die Abfrage (mit Workbench oder der von Ihnen verwendeten Software) versucht und die Datensätze in der Tabelle überprüft? – MikeVelazco

+0

@MikeVelazco ja –

Antwort

1

mysql_query Funktion gibt eine Ressource.

Sie müssen noch

$serverTime = mysql_query("SELECT NOW()") or die(mysql_error()); 
$data = mysql_fetch_array($serverTime); 
$serverTime = $data[0]; // and from now it should work. 
mysql_query("DELETE FROM current_questions WHERE TIMESTAMPDIFF(MINUTE ,`createTime`,'$serverTime')")or die(mysql_error()); 

Die andere Antwort ist besser, die Daten aus der Ressource gehen und zu holen, aber es ist gut, zurück zu gehen und von Ihrem eigenen Fehler Schritt für Schritt zu lernen.

Eine andere Sache, sollten Sie mysqli Erweiterung anstelle von mysql verwenden. Dieser ist älter und wird bald veraltet sein.

Ressourcen:

http://php.net/manual/en/function.mysql-fetch-array.php

http://php.net/manual/en/function.mysql-query.php

+0

aber warum 2 Abfragen überhaupt? –

+0

Zwei Abfragen sind nicht notwendig. Setzen Sie 'NOW()' einfach in die zweite Abfrage. – tadman

+0

Beste Antwort, aber ich weiß nicht, was mit meiner Frage falsch war, die abgelehnt wurde! –

5

Sie nicht eine separate Abfrage müssen nur über NOW die aktuelle Zeit zu erhalten() Sie es in Ihrer Anfrage

DELETE FROM current_questions WHERE createTime > NOW() - INTERVAL 1 MINUTE 

, die vor createTime größer als eine Minute ist nehmen kann.

Auch seine wichtig zu wissen, dass die MySQL-Erweiterung ist veraltet und wird in der Zukunft entfernt werden: Verwenden Sie mysqli oder PDO statt