Я пытаюсь создать BaseAdapter, каждый элемент которого имеет NumberPicker и кнопку. Параметры действия кнопки зависят от значения, выбранного в NumberPicker. Я думал, что одним из решений было создание setOnClickListener (кнопки) внутри onValueChange NumberPicker, проблема в том, что onValueChange никогда не срабатывает, когда я меняю номер.
Я оставляю вам код, чтобы было понятнее:
public class Adapter extends BaseAdapter{
...
public View getView(int position, View convertView, ViewGroup parent) {
View v = convertView;
if (v == null)
{
LayoutInflater vi = (LayoutInflater) con.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
v = vi.inflate(R.layout.row, null);
}
button = (Button) v.findViewById(R.id.button);
numPick = (NumberPicker) v.findViewById(R.id.numPick);
numPick.setOnValueChangedListener(new NumberPicker.OnValueChangeListener() {
public void onValueChange(NumberPicker picker, int oldVal, int newVal) {
val = newVal;
button.setOnClickListener(new View.OnClickListener() {
public void onClick(View arg0) {
actionToPerform(val);
}
});
}
});
Как я могу решить эту проблему? Спасибо!