2016-07-09 13 views
0

fragmentieren Wenn Strings von einer Aktivität zu einem FragmentNullable Werte von Aktivität

Bundle args = new Bundle(); 
args.putString(key, value); 
fragment.setArguments(args); 

mit geben ich auch potentielle null passieren kann und erhalten es in dem Fragment mit

String string = getArguments().getString(key); 

Ich würde auch gern Nullbar Float s und Integer s, aber die entsprechenden putInt() und putFloat() Methoden lassen nicht passieren null. Ich übergebe jetzt zusätzliche Flags als Argumente, die angeben, ob ein Wert gesetzt ist oder nicht, aber das scheint im Vergleich ziemlich plump zu sein. Gibt es eine bessere Möglichkeit, mögliche Nullwerte zu übergeben (vorzugsweise in API-Stufe 14 und höher verfügbar)?

Antwort

3

Ich bevorzuge es, etwas im Fall von null in Bündel zu überspringen.
Im Fragment einfach überprüfen Bundle.containsKey(String key), wenn nicht bedeutet null.

+0

Guter Punkt. Das rettet die Flagge. Die 'get ...' Methoden tun dies tatsächlich und erlauben es, einen Standardwert zu definieren, der natürlich nicht null sein kann. Aber das funktioniert. Vielen Dank. – jerry