Home » Android » java – Make Android TextView invisible until button pressed?

java – Make Android TextView invisible until button pressed?

Posted by: admin June 15, 2020 Leave a comment

Questions:

I am looking to make a TextView invisible until the button is pressed. Specifically they are the answers to the question and only visible once the button below it is pressed.

What I have so far >>

public class AndroidAssignment2_1 extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_android_assignment2_1);

        Button next = (Button) findViewById(R.id.QButton);
        next.setOnClickListener(new View.OnClickListener() {
            public void onClick(View view) {
                Intent intent = new Intent();
                setResult(RESULT_OK, intent);
                finish();

            }
        }); 
            Button next1 = (Button) findViewById(R.id.QButton);
            next1.setOnClickListener(new View.OnClickListener() {
                public void onClick(View view) {
                    Intent myIntent = new Intent(view.getContext(), AndroidAssignment2_2.class);
                    startActivityForResult(myIntent, 0);
                }
            }); 


    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.android_assignment2_1, menu);
        return true;
    }

}

The xml for this class

<LinearLayout 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:orientation="vertical" >

<TextView android:id="@+id/Questions"
    android:layout_weight="1"
    android:layout_width="wrap_content"
    android:layout_height="0dip"
    android:text="@string/Q2"   />

<Button android:id="@+id/QButton"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/button_question"  />

<Button android:id="@+id/AButton"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/button_send" />

<TextView android:id="@+id/Answers"
    android:layout_weight="1"
    android:layout_width="wrap_content"
    android:layout_height="0dip"
    android:hint="@string/A2" />

<Button android:id="@+id/QuitButton"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/button_quit" />


</LinearLayout>

I dont think more is needed, I am just looking for the code that I would apply to “AButton” to make the TextView “Answers” only visible once clicked by user.

How to&Answers:

XML:

<TextView android:id="@+id/Answers"
    android:layout_weight="1"
    android:layout_width="wrap_content"
    android:layout_height="0dip"
    android:hint="@string/A2"
    android:visibility="invisible"/>

Code:

Button button = (Button) findViewById(R.id.AButton);
button.setOnClickListener(new View.OnClickListener() {
    public void onClick(View view) {
        TextView tv = AndroidAssignment2_1.this.findViewById(R.id.Answers);
        tv.setVisibility(View.VISIBLE);
    }
}); 

Answer:

For this thing to work, first we need to make a TextView, write our message in it and make the TextView invisible using visibility property if Textview like this :

<TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/hello_world"
        **android:visibility="invisible"**/>

and then make a method in your main activity class to show invisbile test view in our Layout using setVisibility() method like this:

  public void onLoveButtonClicked(View view){
        TextView textView = (TextView) findViewById(R.id.haikuTextView);
        textView.setVisibility(View.VISIBLE);

  }

Answer:

Set the Answers TextView visibility to invisible or gone by default.

Find the AButton Button in the same way you find the other Button views.

Set an onClickListener on the AButton Button like the other buttons’ listeners that does two things:

Find the answers TextView in the same way you find the Button views.

Calls setVisibility on the the answers TextView.