Ich möchte einen NumberPicker mit einem Array von angezeigten Werten erstellen. Die Werte sollten sich nicht ändern, wenn der NumberPicker angezeigt wird, aber die Min- und Max-Werte ändern sich je nach Benutzeraktion dynamisch. HiersetMinValue on NumberPicker wählt nicht den richtigen min Wert
ist der Code:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<NumberPicker
android:id="@+id/picker"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"/>
</RelativeLayout>
In Hauptaktivität
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final String[] values = new String[]{"0", "1", "2", "3", "4", "5", "6", "7", "8", "9"};
NumberPicker picker = (NumberPicker) findViewById(R.id.picker);
picker.setDisplayedValues(values);
picker.setMaxValue(7);
picker.setMinValue(3);
picker.setWrapSelectorWheel(false);
}
}
Wenn ich das Maximum eingestellt, ohne die minimale Einstellung, ich mit angezeigten Werten zwischen "0" zu beenden und "7" (inbegriffen). Wenn ich den minValue auf 0 setze, habe ich das gleiche Verhalten. Aber wenn ich den minValue auf 3 setze, beende ich mit angezeigten Werten zwischen "0" und "4". Wenn es zwischen "3" und "7" sein soll.
Ich verstehe nicht warum. Habe ich etwas falsch gemacht oder gibt es ein Problem mit der Komponente?
Könnten Sie bitte näher darauf eingehen? Warum behebt es das Problem des OP nicht? Haben Sie nicht auch vorgeschlagen, den Anzeigewert zu ändern, wenn sich der Min/Max-Wert ändert (vielleicht habe ich das falsch verstanden)? – Bmuig
Ich entschuldige mich, ich habe Ihren Vorschlag falsch gelesen. Es funktioniert wie erwartet. Das tut mir leid! –