从方法(Android)查找TextView

时间:2017-03-05 21:47:27

标签: 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后消失

1 个答案:

答案 0 :(得分:0)

试试这个

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

在您的布局XML集onClick属性中,例如在Button

android:onClick="change"

它应该有用。