基于if语句将TextView设置为不可见

时间:2013-10-30 17:43:12

标签: java android

我在屏幕上有几个文本字符串,在应用程序启动时设置为不可见。当在另一个屏幕上单击一个按钮时,我想要一个特定的字符串变得可见。最后,我希望有几个字符串,通过单击此按钮可以看到。

    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是另一种选择吗?

4 个答案:

答案 0 :(得分:1)

编写自己的算法:

  1. 使用一个布尔
  2. 根据自己的布尔变量
  3. 查看VISIBLE和GONE

答案 1 :(得分:0)

您需要先实例化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()更改Visibility,其中int值为

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

注意:请不要在代码中包含上面的“...”。这只是省略的代码,我假设你知道如何处理。另外,我从setContentView()方法中取出onClick(),因为通常这只应在onCreate()中执行一次。

我不确定那里的逻辑,因为我不知道buttonClicked1变量的用途,但是Visibility是如何做的。

setVisibility() Docs

  

.setText是另一种选择吗?

这将只是设置文本,所以如果你已经在xml中设置了它,那么你不需要......你可以像你想要的那样改变Visibility。如果你还没有设置它,那么你将需要像

这样的东西
tv1.setText("Hello World");  // input your own String or String resource

答案 2 :(得分:0)

确保在setVisibility(View.GONE)之后onCreate()setContentView()中的所有TextView致电textview.setVisibility(View.VISIBLE)。然后在if子句中将所选textview的可见性设置为View.VISIBLE - {{1}}

答案 3 :(得分:0)

按钮的findViewByIdTextView功能的第一个onClick将该textView的可见性设置为VISIBLE

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


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