Я все еще довольно новичок в разработке для Android, поэтому этот ответ не очень конкретен, но, надеюсь, он поможет вам.
Есть несколько подходов. Вы можете установить прослушиватели change как на панели поиска, так и на тексте редактирования, которые обновляют значения другого (предположим, что у вас есть EditText t, SeekBar b и значение в модели:
b.setOnSeekBarChangeListener(new OnSeekBarChangeListener()
{
@Override
public void onProgressChanged(final SeekBar seekBar,
final int progress,
final boolean fromUser)
{
if (fromUser)
{
model = progress;
updateUI();
}
}
@Override
public void onStartTrackingTouch(final SeekBar seekBar)
{
}
@Override
public void onStopTrackingTouch(final SeekBar seekBar)
{
}
});
t.setOnKeyListener(new View.OnKeyListener()
{
@Override
public boolean onKey(final View v,
final int keyCode,
final KeyEvent event)
{
model = Integer.parseInt(t.getText().toString());
updateUI();
return true;
}
});
Тогда updateUI () будет выглядеть примерно так:
private void updateUI()
{
t.setText(model);
b.setProgress(model);
}
Это сумасшедшие имена, и я явно не проверил ошибки. Но ты получил идею. Вероятно, это НЕ тот путь, по которому вы хотите пойти, потому что вы должны убедиться, что вы уловили все различные способы взаимодействия пользователя с каждым компонентом (вероятно, onKey недостаточно для обнаружения при изменении значения EditText).
Правильный (MVC) способ состоит в том, чтобы ваша модель (ваша int []) содержала значение и ваши SeekBar и EditText использовали вашу модель в качестве своих моделей. Я не знаю, как это сделать в модели пользовательского интерфейса Android.