Прежде всего позвольте мне предисловие к этому, будучи совершенно новым для разработки Android. Я пытаюсь просто изменить текст на разных кнопках, когда я нажимаю кнопку «Это». Я могу изменить видимость с помощью setVisibility(), поэтому я думаю, что правильно ссылаюсь на кнопки, но когда я пытаюсь setText(), я получаю ошибку: «Не удается разрешить метод setText (Java.Lang.String)» «Android/Java - setText для кнопки в onbuttonclick не может решить метод
Почему это позволяет мне изменять видимость, но не текст? Что мне нужно сделать, чтобы исправить проблему?
Вот часть XML для одной из кнопок я пытающиеся изменить текст на:
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="New Button"
android:id="@+id/songbutton4"
android:layout_below="@+id/button4"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_alignRight="@+id/button4"
android:layout_alignEnd="@+id/button4"
android:visibility="invisible" />
Вот код для события OnClick:
public void onbutton1click(View v){
//on click turn the 4 buttons invisible, and show the other 5
View b1 = findViewById(R.id.button1);
b1.setVisibility(View.INVISIBLE);
View b2 = findViewById(R.id.button2);
b2.setVisibility(View.INVISIBLE);
View b3 = findViewById(R.id.button3);
b3.setVisibility(View.INVISIBLE);
View b4 = findViewById(R.id.button4);
b4.setVisibility(View.INVISIBLE);
View b5 = findViewById(R.id.button5);
b5.setVisibility(View.INVISIBLE);
View sb1 = findViewById(R.id.songbutton1);
sb1.setVisibility(View.VISIBLE);
sb1.setText("hello"); // THIS IS WHERE THE ERROR OCCURS
View sb2 = findViewById(R.id.songbutton2);
sb2.setVisibility(View.VISIBLE);
View sb3 = findViewById(R.id.songbutton3);
sb3.setVisibility(View.VISIBLE);
View sb4 = findViewById(R.id.songbutton4);
sb4.setVisibility(View.VISIBLE);
}
Идеальное решение. Я попытался изменить код плохого «просмотра», который использовал с правильным кодом, который вы опубликовали, и, очевидно, он работал нормально. Благодарим вас за ответ и совет относительно ссылки на виджеты перед слушателем. Я запомню это. [И да, это было в Деятельности] – David