2016-07-08 4 views
1

Ich habe eine Aktivität erstellt, die als Dialog mit dem„nicht zeigen mehr“ ThickBox in Android Aktivität

android:theme="@android:style/Theme.Material.Light.Dialog.NoActionBar.MinWidth" 

Nun möchte ich ein hinzufügen angezeigt wird, die „zeigen nicht mehr“ ThickBox wie dies:

enter image description here

ich habe es hinzugefügt

<android.support.v7.widget.AppCompatCheckBox 

verwenden, aber wie Implementiere ich es? Ich brauche es, um zu verhindern, dass der Dialog angezeigt wird, selbst wenn die App neu gestartet wird.

Ich würde wirklich schätzen, wenn Sie mir helfen könnten!

+0

Überprüfen Sie dies. Nicht gleich, aber ähnlich: http://stackoverflow.com/questions/7238532/how-to-launch-activity-only-once-when-app-isopened-for-first-time – BR89

+0

Poste einen Code, den du versucht hast Erreiche es – user6547359

Antwort

2

Ich würde die gemeinsamen Einstellungen verwenden, um zu speichern, ob der Dialog angezeigt werden soll oder nicht. Ich denke, dass das Beispiel aus der Android Dokumentation helfen:

public class Calc extends Activity { 
    public static final String PREFS_NAME = "MyPrefsFile"; 

    @Override 
    protected void onCreate(Bundle state){ 
     super.onCreate(state); 

     // Restore preferences 
     SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0); 
     boolean silent = settings.getBoolean("silentMode", false); 
     setSilent(silent); 
    } 

    @Override 
    protected void onStop(){ 
     super.onStop(); 

     // We need an Editor object to make preference changes. 
     // All objects are from android.context.Context 
     SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0); 
     SharedPreferences.Editor editor = settings.edit(); 
     editor.putBoolean("silentMode", mSilentMode); 

     // Commit the edits! 
     editor.commit(); 
    } 
} 

(https://developer.android.com/guide/topics/data/data-storage.html#pref)

Sie dann die boolean verwenden kann, um festzustellen, ob der Dialog oder nicht (im Beispiel gezeigt werden soll, das wäre die boolean silent).

Ich hoffe, das beantwortet die Frage!

+0

Danke für die tolle Antwort! Muss ich eine Präferenzdatei irgendwo anders erstellen? wenn ja, wo? – Daniele

+0

@Daniele Gern geschehen :) Sie müssen keine Dateien erstellen. Ich glaube, dass die einzige Einschränkung darin besteht, dass 'PREFS_NAME' (aus dem Beispiel) für alle installierten Apps eindeutig sein sollte. Aber ich bin mir nicht sicher. Es würde jedoch nicht schaden, es zu etwas Einzigartigem zu machen. – Desirius

+0

Danke, ich werde das ausprobieren! – Daniele

Verwandte Themen