子线程是否已可以进行Activity的跳转

本文介绍了一种在Android应用中从子线程启动Activity的方法,并提供了具体的实现代码示例。通常情况下,更新UI操作需要在主线程中完成,但文章证实了子线程同样能够进行Activity的跳转。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

偶尔我们会在子线程做完一些数据请求的操作之后,会用到两个Activity的跳转,我们知道更新UI的操作要放到主线程,但是子线程是否可以进行界面的跳转呢,答案是肯定的,必须可以


大家可以去试试


  1. public class MainActivity extends Activity {  
  2.   
  3.     private Context context;  
  4.     @Override  
  5.     protected void onCreate(Bundle savedInstanceState) {  
  6.         super.onCreate(savedInstanceState);  
  7.         setContentView(R.layout.activity_main);  
  8.         context = this;  
  9.         //第一个按钮,通过主线程跳转activity,并传递内容  
  10.         findViewById(R.id.btn_go1).setOnClickListener(new OnClickListener() {  
  11.             @Override  
  12.             public void onClick(View v) {  
  13.                 Log.e("test""main thread:" + Thread.currentThread().getName()  
  14.                         + "id:" + Thread.currentThread().getId());  
  15.                 Intent intent = new Intent(context, OtherActivity.class);  
  16.                 // 测试传递字符串  
  17.                 intent.putExtra("hello""hello im main thread");  
  18.                 startActivity(intent);  
  19.             }  
  20.         });  
  21.   
  22.         //第二个按钮,通过子线程跳转activity,并传递内容  
  23.         findViewById(R.id.btn_go2).setOnClickListener(new OnClickListener() {  
  24.             @Override  
  25.             public void onClick(View v) {  
  26.                 new Thread(new Runnable() {  
  27.                     @Override  
  28.                     public void run() {  
  29.                         Log.e("test""child thread:"  
  30.                                 + Thread.currentThread().getName() + "id:"  
  31.                                 + Thread.currentThread().getId());  
  32.                         Intent intent = new Intent(context, OtherActivity.class);  
  33.                         // 测试传递字符串  
  34.                         intent.putExtra("hello""hello im child thread");  
  35.                         startActivity(intent);  
  36.                     }  
  37.                 }).start();  
  38.   
  39.             }  
  40.         });  
  41.     }  
  42. }  

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值