android 线程之创建一个子线程,并在UI线程中进行交互
16lz
2021-01-23
package littest.ghq.com.test;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.util.Log;import android.view.View;import android.widget.Button;import android.widget.TextView;import android.widget.Toast;import com.loopj.android.http.AsyncHttpClient;import com.loopj.android.http.AsyncHttpResponseHandler;import com.loopj.android.http.RequestParams;import org.apache.http.Header;public class MainActivity extends AppCompatActivity { private String TAG = "线程示例"; private Button btn_start,btn_end; private Thread clockThread; private TextView tvtime; private boolean isRuning = false; private int timer = 0; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); btn_start =(Button)findViewById(R.id.btn_start); btn_start.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { isRuning=true; clockThread.start();//启动这个线程 } }); btn_end = (Button)findViewById(R.id.btn_end); btn_end.setOnClickListener(new View.OnClickListener(){ @Override public void onClick(View view) { isRuning=false; } }); tvtime = (TextView)findViewById(R.id.tv_time); clockThread = new Thread(new Runnable() { @Override public void run() { while(isRuning){ try{ Thread.currentThread().sleep(1000); timer++; tvtime.post(new Runnable() { @Override public void run() { tvtime.setText("时间过去了:"+timer+"秒"); } }); }catch (InterruptedException e){ e.printStackTrace(); } }//线程结束后就不能再次执行 } }); }}
不想写安卓 想去看电影
更多相关文章
- Android studio 多线程网络文件下载
- Android实现图片缩放示例
- Android 子线程 更新 UI 界面 总结
- Android非UI线程访问UI线程的方法总结
- android布局参照示例_约束布局Android示例–第2部分
- FregServer进程,发送BC_TRANSACTION,唤醒ServiceManager进程,返回BR
- 在非主线程中不能操作主线程中的View
- Android Timer的用法示例
- android 传统蓝牙开发 (附示例源码)