Я использую средство выбора чисел, которое определяется следующим образом:
<NumberPicker
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:visibility="gone"
android:id="@+id/numberPickerCompoundView" />
Цель этого средства выбора чисел — появляться, когда пользователь щелкает TextView, чтобы помочь ему изменить значение текстового представления без использования виртуальной клавиатуры. В моем классе, который расширяет LinearLayout, я использую следующий код, чтобы зафиксировать щелчок на TextView и сделать так, чтобы появилось средство выбора чисел:
mTextView.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View view) {
if(mNumberPicker.getVisibility()==View.VISIBLE){
mNumberPicker.setVisibility(View.GONE);
} else {
mNumberPicker.setVisibility(View.VISIBLE);
}
setValue(mTextView.getText().toString());
}
});
а затем используйте следующий код, чтобы добавить onClickListener в средство выбора номера
mNumberPicker=(NumberPicker)findViewById(R.id.numberPickerCompoundView);
mNumberPicker.setMaxValue(9);
mNumberPicker.setValue(mCurrentValue);
mNumberPicker.setClickable(true);
mNumberPicker.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View view) {
Toast.makeText(getContext(), "Click Captured", Toast.LENGTH_SHORT).show();
if (view == mNumberPicker){
mNumberPicker.setVisibility(View.GONE);
setValue(Integer.toString(mNumberPicker.getValue()));
mTextView.setVisibility(View.VISIBLE);
}
}
});
Однако, когда я нажимаю на средство выбора чисел, оно просто продолжает прокручивать значения, но не входит в метод onClick(). Может кто-нибудь, пожалуйста, помогите.