in meiner App verwende ich 3 NumberPickers, um einen RGB-Wert auszuwählen. Aber es ist immer 1 von ihnen ausgewählt, auch wenn die Aktivität geöffnet wird. Auf dem Bild kann man sehen, was ich damit meine.Vermeiden Sie die automatische Auswahl von NumberPicker-Wert
Ich fragte mich, ob dies vermieden werden kann und wenn ja, wie.
Beachten Sie, dass ich nicht die Möglichkeit deaktivieren möchte, auf die Nummer zu klicken, die eine Zahleneingabe hervorruft. Nur halt die automatische Auswahl
Bild angezeigt wird, das Problem (die nicht die Nummer eingegeben kommen verursacht):
Vielen Dank im Voraus :)
EDIT:
XML (in einer Ansicht RelativeLayout)
<NumberPicker
android:id="@+id/number_picker_R"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/textview2"
android:layout_toLeftOf="@+id/number_picker_G" />
<NumberPicker
android:id="@+id/number_picker_G"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/textview2"
android:layout_centerHorizontal="true"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp" />
<NumberPicker
android:id="@+id/number_picker_B"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/textview2"
android:layout_toRightOf="@+id/number_picker_G" />
Java
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.tab1_presets, container, false);
... (irrelevant code omitted) ...
this.mNumberPickerR = rootView.findViewById(R.id.number_picker_R);
this.mNumberPickerG = rootView.findViewById(R.id.number_picker_G);
this.mNumberPickerB = rootView.findViewById(R.id.number_picker_B);
// set min and max values for the numberpickers
this.mNumberPickerR.setMinValue(0);
this.mNumberPickerR.setMaxValue(255);
this.mNumberPickerG.setMinValue(0);
this.mNumberPickerG.setMaxValue(255);
this.mNumberPickerB.setMinValue(0);
this.mNumberPickerB.setMaxValue(255);
// set listeners
this.mNumberPickerR.setOnValueChangedListener(this);
this.mNumberPickerG.setOnValueChangedListener(this);
this.mNumberPickerB.setOnValueChangedListener(this);
return rootView;
public NumberPicker getNumberPickerR() {
return this.mNumberPickerR;
}
public NumberPicker getNumberPickerG() {
return this.mNumberPickerG;
}
public NumberPicker getNumberPickerB() {
return this.mNumberPickerB;
}
@Override
public void onValueChange(NumberPicker numberPicker, int i, int i1) {
// get RGB values
int R = getNumberPickerR().getValue();
int G = getNumberPickerG().getValue();
int B = getNumberPickerB().getValue();
// call parent activity onColorChanged method
((MainActivity) getActivity()).onColorChanged(R, G, B);
}
Sie bitte die XML oder Code –
I XML hinzugefügt teilen und java :) –