簡體   English   中英

根據if語句將TextView設置為從不可見可見

[英]Setting a TextView to visible from invisible based on an if statement

我在屏幕上有幾個字符串,在應用程序啟動時設置為不可見。 當在另一個屏幕上單擊按鈕時,我希望特定的字符串變得可見。 最終,我希望通過單擊此按鈕可以使其中的一些字符串變得可見。

    public void buttona0Click(View view){
    setContentView(R.layout.report_screen);
    buttonClicked2 = 1;
    if(buttonClicked1==1){
        setVisibility(R.id.textView2.VISIBLE);
        }
    }

我主要是在這方面尋找指導

    setVisibility(R.id.textView2.VISIBLE);

我一般對編程都不熟悉,所以我不知道我所說的內容對大多數人是否有意義。 .setText是否可以替代?

編寫自己的算法:

  1. 使用一個布爾值
  2. 查看基於VISIBLE和GONE的上述布爾變量

您需要首先實例化TextView 因此,最簡單的開始方法是在onCreate()之前和其他任何方法之外聲明它們,以便它們成為成員變量

public class MyActivity extends Activity
{
    TextView tv1, tv2, etc...;

    public void onCreate(...)
    {
        super.onCreate(...);
        setContentView(R.layout.my_layout);
        tv1 = (TextView) findViewById(R.id.textView1);
        ...
     }

然后在您的onClick()更改采用int值的Visibility

 public void buttona0Click(View view){
     buttonClicked2 = 1;
     if(buttonClicked1==1){
         tv1.setVisibility(View.VISIBLE);
    }
}

注意:請不要在代碼中包含上面的“ ...”。 那只是被忽略的代碼,我假設您已經知道如何處理。 另外,我從onClick()方法中取出了setContentView() ,因為通常這只能在onCreate()完成一次。

我不確定其中的邏輯,因為我不知道buttonClicked1變量是做什么用的,但這是如何實現Visibility

setVisibility()文件

.setText是否可以替代?

這將簡單地設置文本,因此,如果您已經在xml中設置了文本,則不需要...只需在嘗試進行操作時更改Visibility即可。 如果您尚未設置,則需要使用類似

tv1.setText("Hello World");  // input your own String or String resource

確保在setContentView()之后在onCreate()為所有TextView調用setVisibility(View.GONE) setContentView() 然后在您的if子句中將所選textview的可見性設置為View.VISIBLE- textview.setVisibility(View.VISIBLE)

首先是TextView findViewById ,然后在按鈕的onClick函數中,將該textView的可見性設置為VISIBLE

TextView textView = (TextView) findViewById(R.id.textView1);


 public void buttona0Click(View view){
     buttonClicked2 = 1;
    if(buttonClicked1==1){
        textView.setVisibility(view.VISIBLE);
        }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM