Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/395.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 即使将其可见性设置为true,按钮视图也不可见_Java_Android_Xml - Fatal编程技术网

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);
 }
});