java - 在 java (Android) 中使 TextView 在运行时可见

标签 java android

我有两个 Activity ;第一个 Activity 开始第二个 Activity ,其中一些数据通过 Intent 传递。

Intent i = new Intent(this,BActivity.class);
i.putExtra("identify", "c2f");
startActivityForResult(i, 1);

在第二个 Activity 中,我想根据第一个 Activity 传递的信息使一些 TextViews/EditTexts 可见(最初设置为不可见)。

代码如下:

tv1 = (TextView)findViewById(R.id.textView2);
tv2 = (TextView)findViewById(R.id.textView3);
et1 = (EditText)findViewById(R.id.editText1);
et2 = (EditText)findViewById(R.id.editText2);
button = (Button)findViewById(R.id.send_result);

Bundle extras = getIntent().getExtras();
String identifier = extras.getString("identify");

if(identifier == "c2f")
{
    tv1.setVisibility(0);
    tv1.setText("Celcius");
    et1.setVisibility(0);       
}

else if(identifier == "f2c")
{
    tv1.setVisibility(0);
    tv1.setText("Fahrenheit");
    et1.setVisibility(0);
}

else if(identifier == "currency")
{
    tv1.setVisibility(0);
    tv1.setText("Amount");
    tv2.setVisibility(0);
    tv2.setText("Conv. Rate");
    et1.setVisibility(0);
    et2.setVisibility(0);
}

现在,当第二个 Activity 开始时,这些 TextView 或 EditText 似乎都不可见!
标识符(字符串)保存从第一个 Activity 传递的正确值,它甚至进入 if 条件,但它不会使任何 View 可见。
我在尝试使这些 View 可见时是否犯了任何错误?

最佳答案

使用.equals 代替== 进行字符串比较。您还可以在带引号的字符串后使用变量来避免空指针。并且你可以使用TextView.VISIBLE,它是一个常量来让它可见。

    if("c2f".equals(identifier))
    {
        tv1.setVisibility(TextView.VISIBLE);
        tv1.setText("Celcius");
        et1.setVisibility(TextView.VISIBLE);       
    }

关于java - 在 java (Android) 中使 TextView 在运行时可见,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21709217/

相关文章:

android - 无法找到可选库 : android. test.runner

java - 在 android 中使用 webservice 响应对象

android - 更改处于选中状态的 EditText 控件的颜色

java - 在 JAVA 中使用 CAS 服务器进行单点登录

java - 将 HashMap 存储在 java webapp session 中

java - OpenGL 纹理不遵循几何

android - 如何在 UML 类图中包含 Android Activity 和屏幕?

android - 在 Android 小部件中删除文本的子字符串

java - “Group” vecmath 根据对象之间的距离点对象

java - Gson 日期类型异常 : How can i fix the exception?