Java 即使将其可见性设置为true,按钮视图也不可见
我正在制作一个测验应用程序,因此我希望我的Java 即使将其可见性设置为true,按钮视图也不可见,java,android,xml,Java,Android,Xml,我正在制作一个测验应用程序,因此我希望我的MenuButton和NextButton视图在开始时不可见,但在满足特定条件后,我希望视图再次可见,因此我使用了findViewById(R.id.MenuButton)。设置可见性(view.visible)和下一个按钮相同,但这些视图仍然不可见。我做错了什么 <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.
MenuButton
和NextButton
视图在开始时不可见,但在满足特定条件后,我希望视图再次可见,因此我使用了findViewById(R.id.MenuButton)。设置可见性(view.visible)
和下一个按钮相同,但这些视图仍然不可见。我做错了什么
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="center">
<TextView
android:id="@+id/Question"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="46dp"
android:text="TextView"
android:gravity="center"
android:textSize="25dp"
android:textColor="#000000"/>
<RadioButton
android:id="@+id/radioButton1"
android:layout_width="wrap_content"
android:layout_height="25dp"
android:text="RadioButton1"
android:textSize="20sp"
android:textColor="#000000"
android:layout_marginLeft="43dp"
android:layout_marginStart="43dp"
android:layout_marginTop="54dp"
android:layout_below="@+id/Question"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:onClick="On_RadioButton1_Click"/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/linearLayout"
android:orientation="horizontal"
android:layout_marginTop="55dp"
android:layout_below="@+id/radioButton4"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true">
<Button
android:id="@+id/MenuButton"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_marginLeft="40dp"
android:textSize="20dp"
android:text="menu" />
<Button
android:id="@+id/NextButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="20dp"
android:layout_marginLeft="125dp"
android:text="next" />
</LinearLayout>
</RelativeLayout>
您应该获得对按钮的引用,并在引用上调用setVisibility。您当前正在做的是在一个引用上设置可见性不可见
,然后在另一个引用上设置可见性可见
Button nextButton;
//in onCreate
nextButton = (Button)findViewById(R.id.nextButton);
nextButton.setVisibility(View.INVISIBLE);
//in AnswerSubmitted
nextButton.setVisibility(View.VISIBLE);
我认为你应该告诉android,当你的单选按钮被点击时,你想执行这个方法。加入:
Radio_Button1.setOnClickListener(new OnClickListener (){
public void onClick(View v) {
On_RadioButton1_Click(v);
}
});
因此,您可以在每次单击时执行该方法。
将其添加到代码中创建时的末尾,即链接到文本视图问题的按钮位置。对于长问题文本,按钮可能不在屏幕上。文本颜色是否变为红色?在类中为按钮创建全局对象。在onCreate中初始化它。并使用该对象进行隐藏/show@SolderingIronMen这对我有用:)谢谢!我已经编辑了我的答案。只是一个疑问,在线性布局中,当我为下一个按钮使用android:layout_Margin_Right=“x”时,它对按钮的定位没有影响,因此我必须使用MarginLeft属性。为什么?@Ogbe是的!是的。
Radio_Button1.setOnClickListener(new OnClickListener (){
public void onClick(View v) {
On_RadioButton1_Click(v);
}
});