我已经创建了一个欢迎页面(启动器),并包含了一个进度条。加载此进度条后将显示下一个活动(几秒钟)。第一次,当应用程序运行时,几秒钟后将显示下一个活动。现在,当我按下后退按钮时,将显示欢迎活动。但这一次,几秒钟后,它现在像第一次一样调用下一个活动(使用Intent)。如何解决此问题?代码为:
import android.content.Intent;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.widget.ProgressBar;
public class WelcomeActivity extends AppCompatActivity {
ProgressBar p;
private boolean mbActive;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_welcome);
p = (ProgressBar) findViewById(R.id.progressBar);
final Thread timerThread = new Thread() {
@Override
public void run() {
mbActive = true;
try {
int waited = 0;
while(mbActive && (waited < 1000)) {
sleep(200);
if(mbActive) {
waited += 200;
updateProgress(waited);
}
}
} catch(InterruptedException e) {
} finally {
onContinue();
}
}
};
timerThread.start();
}
@Override
public void onDestroy() {
super.onDestroy();
}
public void updateProgress(final int timePassed) {
if(null != p) {
final int progress = p.getMax() * timePassed / 100;
p.setProgress(progress);
}
}
public void onContinue() {
Intent intd=new Intent(this,MainActivity.class);
startActivity(intd);
}
}
关闭进度对话框
public void onContinue()
{
p.dismiss();
Intent intd=new Intent(this,MainActivity.class);
startActivity(intd);
}
您应该使用setVisibility(View.GONE)/设置可见性(视图。不可见)。
public void onContinue()
{
p.setVisibility(View.GONE);
Intent intd=new Intent(this,MainActivity.class);
startActivity(intd);
}
供参考
如果试图从UI线程外部向UI线程发送UI事件,则CalledFromErrorThreadException是一个常见错误。
为了你的车祸。读取RunUnuithRead
试试这个:----我在简历中保留进度显示代码时更改代码
public class WelcomeActivity extends AppCompatActivity {
ProgressBar p;
private boolean mbActive;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_welcome);
}
public void updateProgress(final int timePassed) {
if (null != p) {
final int progress = p.getMax() * timePassed / 100;
p.setProgress(progress);
}
}
public void onContinue() {
Intent intd = new Intent(this, MainActivity.class);
startActivity(intd);
}
@Override
protected void onResume() {
super.onResume();
showProgress();
}
private void showProgress() {
p = (ProgressBar) findViewById(R.id.progressBar);
final Thread timerThread = new Thread() {
@Override
public void run() {
mbActive = true;
try {
int waited = 0;
while (mbActive && (waited < 1000)) {
sleep(200);
if (mbActive) {
waited += 200;
updateProgress(waited);
}
}
} catch (InterruptedException e) {
} finally {
onContinue();
}
}
};
timerThread.start();
}
@Override
public void onDestroy() {
super.onDestroy();
}
}
我正在生成一个文本文件,稍后由外部程序处理。这必须执行1000次,为此,我使用一个子流程。在循环中为我要处理的每个文本文件调用()。 工作正常。 第二次调用失败,python程序以退出。 -没有调试输出。-两者都保持停止状态,但在进程列表中 我尝试了,结果是一样的。我试图用与第一次执行相同的文本文件运行它,但它也失败了,所以罪魁祸首肯定是函数。 这是调用外部程序的行 该程序是一个简单的二进制文件,
当应用程序处于活动状态时,所有操作都正常运行,但当没有任何活动运行时,我仍然通过firebase notification获得一个带有app_name和Body的通知,并打开MainActivity。 这是我的MyFirebaseMessagingService类:- 我看到了一个类似的问题,但对我的情况没有帮助。
我正在使用netty编写一个网络游戏服务器,并打算使用keep alive来提高性能<如果我为boss和worker executor使用CachedThreadPool,那么服务器对于保持活动和非保持活动连接都可以正常工作<但是如果我使用FixedThreadPool(1),一个用于boss,一个用于worker,第一个响应会发送给客户端,但如果浏览器使用该连接发送第二个请求,它将被阻止并在服务
问题内容: 我正在尝试使用Linux下的ProcessBuilder类将mp3文件解码为wav文件。由于某些原因,该过程不会停止,因此我必须手动取消它。 有人可以给我一个提示。我认为引用的代码很容易重现: jstack的输出 问题答案: 您需要清空进程的输出(通过)和错误(通过)流,否则可能会阻塞。 引用过程文档: 由于某些本机平台仅为标准输入和输出流提供有限的缓冲区大小,因此未能及时写入子流程的
有时,当我在Chrome中调试一些javascript时,我暂停了javascript,如果我试图重新加载页面,Chrome只是“继续”调试器,步进下一个断点。 似乎没有任何办法迫使javascript完全停止运行,让chrome重新加载页面。每次按-r或单击reload按钮都只需继续到下一个断点。 null 附言。我还注意到javascript调试器也没有“停止”按钮。我如何告诉chrome停止
问题内容: 我的网站上使用CakePHP拥有身份验证系统。为此,它使用PHP会话。 我所拥有的是对函数的AJAX调用(在setInterval中每分钟运行一次),该函数检查用户是否仍在登录。如果返回false,则Javascript将获取当前URL并尝试将其重定向, turn将他们重定向到登录页面。从理论上讲,这是可行的,因为它会主动要求用户重新登录,而不是进行陈旧的会话,后者只会要求用户单击某些