java - 从方法更改 TextView (Android)

标签 java android textview

我正在尝试使用一种方法来更改我的 TextView,但我的代码不起作用。

public void change(){
    TextView textView = (TextView) findViewById(R.id.textfortune);
    textView.setText("Test");
}

但是 TextView 只是消失了。
如果我直接在 Clicklistner 中更改它,它可以正常工作,但如果 Clicklistner 使用内部相同的代码启动该方法,则不会。 有人能解释一下为什么吗?或者如何解决这个问题?

完整代码:

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





    final TextView textView = (TextView) findViewById(R.id.textfortune);

    textView.setTextSize(TypedValue.COMPLEX_UNIT_PX, (float)0.2*width);

    textView.setText("Fortune");
    textView.setDrawingCacheEnabled(true);






    RelativeLayout root = (RelativeLayout) findViewById(R.id.content_main);
    root.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {

             change();

        }
    });
return true;

}

点击后TextView消失

最佳答案

试试这个

public void change(View v){
  TextView textView = (TextView) findViewById(R.id.textfortune);
  textView.setText("Test");
}

在布局 XML 中设置 onClick 属性,例如在 Button

android:onClick="change"

应该可以。

关于java - 从方法更改 TextView (Android),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42614483/

相关文章:

java - 日期格式困惑

android - 减少Android中res文件夹的大小(多语言支持)

android - Fragment 中的 View 为空

android - 布局结构在android中无法显示所有内容

java - 在源方法内部调试时无法检查 catch 子句中的变量

java - 如何在Hibernate中模拟 "ON UPDATE NO ACTION"

Android admob 能否根据app UI重新修改native advance ads layout

Android:TextView:删除顶部和底部的间距和填充

java - 如何使用 jax -rs 创建 POST 请求

android - 在构建时下载 Android 字符串资源