【问题标题】:android studio activity starts before finishing prev oneandroid studio 活动在完成上一个活动之前开始
【发布时间】:2020-11-10 15:13:47
【问题描述】:

我在 Mainactivity 中调用 prog() 函数,该函数使用进度条执行加载页面,我在 prog 函数 LoginActivity 之后调用。但是,它在令人兴奋的 prog 功能之前调用登录活动,我是 android studio 的新手,需要你的帮助。这是我的代码

public class MainActivity extends AppCompatActivity {

ProgressBar pb;
int counter = 0;
TextView textView;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    textView = findViewById(R.id.textView);

    prog();//loading page
     Intent intentLoginPage = new Intent(MainActivity.this,LoginActivity.class);
     startActivity(intentLoginPage);

}

public boolean prog(){// to dispay progress bar as loading bar in loading page

    pb = findViewById(R.id.progressBar);
    final Timer t = new Timer();
    TimerTask tt = new TimerTask() {
        @Override
        public void run(){
            counter++;
            textView.setText(counter + "%");//0 to 100%
            pb.setProgress(counter);
            if(counter == 100)
                t.cancel();

        }
    };
    t.schedule(tt,0,60);
    return true;
}
}

【问题讨论】:

  • “它在令人兴奋的 prog 功能之前调用登录活动” 我发现这极不可能。但是,您正在从 prog 开始一些异步工作。

标签: java android android-studio android-intent android-activity


【解决方案1】:

你可能需要在 run() 中调用 startActivity 吗?:

TimerTask tt = new TimerTask() {
        @Override
        public void run(){
            counter++;
            textView.setText(counter + "%");//0 to 100%
            pb.setProgress(counter);
            if(counter == 100) {
                t.cancel();
                Intent intentLoginPage = new Intent(MainActivity.this,LoginActivity.class);
                startActivity(intentLoginPage);
            }

        }
    };

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-12-30
    • 1970-01-01
    • 2020-05-04
    • 2011-09-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-19
    相关资源
    最近更新 更多