Android TextView无效无效

时间:2015-05-01 14:37:03

标签: java android android-layout textview

我在Android上的一个小型失效问题面前。 在创建活动创建视图后,我收到了一个监听器回调(" onSomething"在下面的示例中")来更新TextView,但是我无法制作它有用......你能帮忙吗?

活动onCreate:

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    setContentView(R.layout.myLayout);

    init_views();
}

我的方法初始化视图:

private static TextView myTxtView;
private void init_views(){
     myTxtView = (TextView) findViewById(R.id.txtid);
}

监听器和TextView更新:

@Override
public void onSomething(JSONObject data) {
    try {
        ... // my code

        myTxtView.setText(distance); // this doesn't work :( :(
        myTxtView.postInvalidate(); // this doesn't work  :( :(

    } catch (Throwable t){ return; }
}

2 个答案:

答案 0 :(得分:2)

必须在UI线程上调用

setText

myTxtView.post(new Runnable() {
  public void run() {
      myTxtView.setText(distance);
  }
});

答案 1 :(得分:0)

您必须更新必须使用runOnUiThread

的活动中的textview
 runOnUiThread(new Runnable() {
          @Override 
          public void run() { 

                   myTxtView.setText(distance);

        });