//Only the original thread that created a view hierarchy can touch its views. //不能在非UI线程里更新UI
public class MainActivity extends AppCompatActivity { private Handler handler; @BindView(R.id.get_btn) Button get_btn; @BindView(R.id.post_btn) Button post_btn; @BindView(R.id.result_view) TextView result_view; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); ButterKnife.bind(this); //主线程的handler handler = new Handler(); } @OnClick(R.id.get_btn) public void getMsg(){ doGet(); } @OnClick(R.id.post_btn) public void postMsg(){ } public void doGet(){ //创建okhttpClient对象 OkHttpClient okhttpClient = new OkHttpClient(); //构建Request Request.Builder builder = new Request.Builder(); Request request = builder.get().url("https://www.baidu.com").build(); //将Request封装为Call Call call = okhttpClient.newCall(request); //执行Call //异步执行 提供回调接口 call.enqueue(new Callback() { @Override public void onFailure(Call call, IOException e) { Toast.makeText(MainActivity.this, "网络不给力", Toast.LENGTH_SHORT).show(); } @Override public void onResponse(Call call, Response response) throws IOException { final String string = response.body().string(); // Only the original thread that created a view hierarchy can touch its views. //result_view.setText(string); new Thread(){ @Override public void run() { handler.post(new Runnable() { @Override public void run() { result_view.setText(string); } }); } }.start(); } }); } }