从网络中检索数据

时间:2015-05-26 15:07:57

标签: android

我接受了采访,并获得了以下代码,因此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 个答案:

答案 0 :(得分:1)

我的猜测是,对userNameTextView.setText的调用不能来自UI线程,必须进行编组。