Der Parameter setVisibility () kann nicht dynamisch gesetzt werden

Ich versuche, die Sichtbarkeit für einen Knopf wie folgt zu setzen:

public Bundle setActivityState(Bundle bundle){ startBtn = (Button) findViewById(R.id.startSensorsBtn); startBtn.setVisibility( getVisibilityState(bundle, PersistanceConstants.START_BTN_STATE) ); return bundle; } public int getVisibilityState(Bundle bundle, String keyName){ if (bundle.getInt(keyName) == View.VISIBLE){ return View.VISIBLE; } else if (bundle.getInt(keyName) == View.INVISIBLE){ return View.INVISIBLE; } else if (bundle.getInt(keyName) == View.GONE){ return View.GONE; } return 0; } 

Aber ich bekomme den Fehler:

  • Ist PhoneGap langsam oder es ist ein Fehler?
  • Wie kann man ProgressBar programmgesteuert erstellen?
  • Wie man die Benachrichtigung abträgt, nachdem die Aktion angeklickt wurde
  • Android: Wie kann Fragment eine globale Variable der Aktivität nehmen
  • Ist Google Android OpenGL Tutorial Unterricht falsche lineare Algebra?
  • Android Studio erhält weiterhin eine nicht unterstützte main.minor Version 52.0
  •  Must be one of: View.VISIBLE, View.INVISIBLE, View.GONE less... (Ctrl+F1) Reports two types of problems: - Supplying the wrong type of resource identifier. For example, when calling Resources.getString(int id), you should be passing R.string.something, not R.drawable.something. - Passing the wrong constant to a method which expects one of a specific set of constants. For example, when calling View#setLayoutDirection, the parameter must be android.view.View.LAYOUT_DIRECTION_LTR or android.view.View.LAYOUT_DIRECTION_RTL. 

    Beim rufen

     getVisibilityState(bundle, PersistanceConstants.START_BTN_STATE) 

    Ich weiß nicht, wie man das umkommt. Ich verstehe, dass es eine vorgegebene Menge von Werten erwartet, aber alles was ich weiß, ist, einen int zu übergeben. Was kann hier gemacht werden?

  • Wie konvertiere ich ppi in dpi für Android-Bilder?
  • Android USB-Host-Modus "Soft-Mode" -Treiber für Standard-Class-kompatible USB-Geräte
  • Android: disambiguierende Dateipfade
  • Zeilenumbruch in XML-Formatierung?
  • Android NumberPicker mit Formatter formatiert beim ersten Rendering nicht
  • Wie nennt man den setListAdapter in android
  • 2 Solutions collect form web for “Der Parameter setVisibility () kann nicht dynamisch gesetzt werden”

    Wenn du weißt, was du tust, kannst du diese Android Studio Inspektion vor Ort unterdrücken

     //noinspection ResourceType 

    Beispielsweise,

     //noinspection ResourceType startBtn.setVisibility(bundle.getInt(PersistanceConstants.START_BTN_STATE)); 

    Ein bisschen spät zur Party aber eine andere Lösung, wenn du das viel in deinem Code nimmst und du hast eine Methode, die zurückgibt, dass int ist, deine eigene Sichtbarkeits-Annotation zu definieren, also so etwas wie dieses:

     public class MyStuff { @IntDef({View.VISIBLE, View.INVISIBLE, View.GONE}) @Retention(RetentionPolicy.SOURCE) public @interface Visibility { } public @Visibility int getVisibility() { return View.GONE; } } 

    Wenn Sie dies tun, dann AS wird nicht mehr beschweren, weil Sie eine richtige int def zurückgeben.

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