2015-05-26 82 views
0

我已經接受了面試,並且給出了以下代碼,以便UserAPI是用於從網絡檢索數據的實用程序類。 假設它使用自己的線程機制來操作,而不考慮調用者線程。 我必須找到什麼是錯的代碼:從網絡中檢索數據

public class NetworkTestActvitiy extends Activity { 
    private TextView userNameTextView; 

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

     setContentView(R.layout.chegg_test_layout); 

     userNameTextView = (TextView)findViewById(R.id.userName); 

    } 

    @Override 
    protected void onStart() { 
     super.onStart(); 
     loadUserName(); 
    } 

    private void loadUserName() { 
     UserAPI.getInstance().getUserName(new NetworkListener() { 

      @Override 
      public void onError(ErrorMessage error) { 
       Logger.e("Failed to get user use: " + error.getMessage()); 
      } 

      @Override 
      public void onSuccess(String userName) { 
       userNameTextView.setText(userName); 
      } 
     }); 
    } 

} 

回答

1

我的猜測是,調用userNameTextView.setText不能從UI線程,並已被整理。