2016-06-13 55 views
-2

我已经尝试过使用线程,但它不成功,使用EditText作为输入改变TextView文本后,textView没有改变。请帮帮我!如何在Android中持久更改TextView文本?

 Thread thread = new Thread(new Runnable() { 
     @Override 
     public void run() { 
      //shared is SharedPreferences object that I define as an instance variable 
      String inp = shared.getString("input", def); 

      textView.setText(inp); 
      Log.d("input",inp); 
    }); 

    thread.start(); 
+0

你能解释一下你想要做什么? –

回答

0

试试这个:

Thread thread = new Thread(new Runnable() { 
    @Override 
    public void run() { 
     //shared is SharedPreferences object that I define as an instance variable 
     String inp = shared.getString("input", def); 
     runOnUiThread(new Runnable() { 

        @Override 
        public void run() { 

         textView.setText(inp); 
         Log.d("input",inp); 
        } 
       }); 
}); 

thread.start(); 

更新UI,你应该使用主UI线程。看一看:

Android runOnUiThread explanation

+0

哦,好吧,我得到它。谢谢。 –

0

你为什么要在一个单独的线程中执行它。即使你想,你也不能在非UI线程中更新任何UI组件,例如textView。

相关问题