Итак, я снова задаю очень простой вопрос. Я извиняюсь за свою неумелость, но думаю, что плохо прочитал данные уроки по этим темам. Мой вопрос таков:
Я хотел бы использовать шаблон «слушателя» для обработки нажатий кнопок в моем графическом интерфейсе. Я считаю, что onClickListener - это то, что мне нужно использовать для обработки этих нажатий кнопок. Однако, я не уверен, должен ли я создавать и обрабатывать события, которые происходят после того, как GUI создан в методе onCreate. Следующий код находится в моем методе onCreate для одного из моих действий:
View.OnClickListener upDownListener = new View.OnClickListener()
{
@Override
public void onClick(View v)
{
if(v == (upOneButton))
{
Log.d("OptionSelect", "Up One Button Pressed.");
ops.getOptionList().get(0).incrementProbability(4);
} . . .
Этот вызываемый метод обновляет некоторый текст графического интерфейса с другим номером. Он вызывается, но графический интерфейс не отвечает. Я полагаю, что это связано с моей попыткой использовать его в методе onCreate.
Короче говоря, каков хороший и простой способ обработки пользовательских событий в графическом интерфейсе и где это должно происходить?
Спасибо большое.
EDIT: Log.d () действительно вызывается. Кроме того, ops - это объект типа OptionSelect, который является типом класса, в котором выполняется вызов onCreate (). Это станет проблемой? Кроме того, вот метод для incrementProbability ():
public void incrementProbability(int numberOfOptions)
{
probability += (numberOfOptions - 1);
if(probability > 100)
{
Log.i("OptionSelect", "Exceeded Maximum by " + (probability - 100));
probability = 100;
}
}
Кроме того, вот соответствующий код, который я должен был включить, который обновляет мой графический интерфейс в конце метода onClick ():
private void refreshDisplay(TextView a, TextView b, TextView c, TextView d)
{
a.setText(getOptionList().get(0).getProbability() + "");
b.setText(getOptionList().get(1).getProbability() + "");
c.setText(getOptionList().get(2).getProbability() + "");
d.setText(getOptionList().get(3).getProbability() + "");
a.invalidate();
b.invalidate();
c.invalidate();
d.invalidate();
}
Спасибо за помощь!