我正在尝试使用一种方法来更改我的 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/