У меня проблемы с пониманием этого кода. Я получаю, что findViewById
получит виджет кнопки, а затем его приведёт. Затем он будет использовать кнопку для вызова метода setOnClickListener
. Однако я не знаю, что это за аргумент, передаваемый в setOnClickListener
и я никогда раньше не видел подобного кода. Как получается, что он создает новый объект, но способен создать собственный метод в другом аргументе метода? Было бы здорово, если бы кто-то мог это объяснить. Кроме того, какой тип объекта setOnClickListener
метод setOnClickListener
?
btn = (Button)findViewById(R.id.firstButton);
btn.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View v)
{
tv.setText(months[rand.nextInt(12)]);
tv.setTextColor(Color.rgb(rand.nextInt(255)+1, rand.nextInt(255)+1, rand.nextInt(255)+1));
}
});