Android/Java-onbuttonclick中的setText to按钮无法解析方法
首先,让我以全新的Android开发作为开场白。当我点击“这个”按钮时,我试图让不同按钮上的文本发生变化。我可以使用setVisibility()很好地更改可见性,因此我认为我正确地引用了按钮-但是当我尝试使用setText()时,我得到了错误:“无法解析方法‘setText(Java.Lang.String)’” 为什么它允许我更改可见性而不是文本?我需要做什么来纠正这个问题 以下是我试图更改其中一个按钮的XML部分:Android/Java-onbuttonclick中的setText to按钮无法解析方法,java,android,button,settext,Java,Android,Button,Settext,首先,让我以全新的Android开发作为开场白。当我点击“这个”按钮时,我试图让不同按钮上的文本发生变化。我可以使用setVisibility()很好地更改可见性,因此我认为我正确地引用了按钮-但是当我尝试使用setText()时,我得到了错误:“无法解析方法‘setText(Java.Lang.String)’” 为什么它允许我更改可见性而不是文本?我需要做什么来纠正这个问题 以下是我试图更改其中一个按钮的XML部分: <Button android:layout_width="
<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" />
你是在片段中还是在活动中 无论如何,你应该:
Button sb1 = (Button) findViewById(R.id.songbutton1);
这就是我们添加元素的方式。如果您在布局中设置按钮小部件,则需要以这种方式引用此小部件。使用()声明正确的类型和类型转换
如果您是在片段中而不是在活动中执行此操作,则还需要将其绑定到适当的视图
Button sb1 = (Button) v.findViewById(R.id.songbutton1);
和建议-不要在listener中获取对视图(小部件)的引用。在听众之前做 首先将按钮分配给一个变量,即:
button btnsog=(button)findViewById(R.id.songbutton4)代码>
然后通过方法btSong.setOnClickListener()将onclick侦听器设置到按钮代码>这将要求您在按钮内声明一个新的onClickListener,并将创建一个方法,您可以在其中将上述代码放置在该方法下。或者添加一个将按钮直接指向方法的XML属性。完美解决方案。我试着用你发布的正确代码替换我使用的糟糕的“视图”代码,显然效果很好。感谢您的回答,以及在侦听器之前关于引用小部件的建议。我会记住这一点。[是的,这是一项活动]
Button sb1 = (Button) v.findViewById(R.id.songbutton1);