gpt4 book ai didi

java - 如何让我的应用程序在 Android 中等待?

转载 作者:太空宇宙 更新时间:2023-11-04 14:47:54 26 4
gpt4 key购买 nike

在我的布局中,我的 TextView 最初设置为不可见。当用户按下开始按钮时,我希望这些 TextView 之一对 .8 可见。秒。然后我希望它再次变得不可见并显示 .8 的另一个 TextView秒等。所以基本上,就像(textView1 弹出一点然后消失,然后 textView2 弹出一点然后消失......)。每个 textView 之间需要有足够的时间。我的问题是找到一种方法让我的代码在以下内容之间稍等一下:

findViewById(R.id.textView1).setVisibility(00000000); //makes it visible

findViewById(R.id.textView1).setVisibility(00000004); //makes it invisible

我尝试了许多不同的方法,但大多数方法都使 textView 保持不可见,因为它到达 .setVisibility(00000004)很快,或者它暂停代码,但似乎永远不会变得可见,就像 .setVisibility(00000000) 一样被忽略了。这就是我目前正在尝试的,但 textView 保持不可见。

int counter=0;
public void GamePlay(View view)
{
turns[counter]=(int)(4*Math.random()+1);
counter=0;
while(turns[counter]!=0)
{

if(turns[counter]==1)
{
findViewById(R.id.textView1).setVisibility(00000000);
HoldGame();
findViewById(R.id.textView1).setVisibility(00000004);

}
else if(turns[counter]==2)
{
findViewById(R.id.textView2).setVisibility(00000000);
HoldGame();
findViewById(R.id.textView2).setVisibility(00000004);
}
else if(turns[counter]==3)
{
findViewById(R.id.textView3).setVisibility(00000000);
HoldGame();
findViewById(R.id.textView3).setVisibility(00000004);
}
else if(turns[counter]==4)
{
findViewById(R.id.textView4).setVisibility(00000000);
HoldGame();
findViewById(R.id.textView4).setVisibility(00000004);
}
counter++;
}
}

public void HoldGame()
{
Timer timer=new Timer();
timer.schedule(new TimerTask() {
@Override
public void run() {

}
}, 1*1000);

}

最佳答案

您可以尝试处理程序类 -

Handler handlerTimer = new Handler();
int count = 0;
Runnable runnable = new Runnable(){
public void run() {
if(count==0)
findViewById(R.id.textView1).setVisibility(00000004);
else if(count==1)
findViewById(R.id.textView2).setVisibility(00000004);
else if(count==2)
findViewById(R.id.textView3).setVisibility(00000004);
else if(count==3)
findViewById(R.id.textView4).setVisibility(00000004);
count++;
if(count<4)
handler.postDealyed(runnable, 8000)
}};

或者你可以使用ScheduledThreadPoolExecutor

ScheduledExecutorService scheduler = Executors.newSingleThreadScheduledExecutor();
int count=0;
scheduler.scheduleAtFixedRate
(new Runnable() {
public void run() {
if(count==0)
findViewById(R.id.textView1).setVisibility(00000004);
else if(count==1)
findViewById(R.id.textView2).setVisibility(00000004);
else if(count==2)
findViewById(R.id.textView3).setVisibility(00000004);
else if(count==3)
findViewById(R.id.textView4).setVisibility(00000004);
count++;
}
}, 0, 8, TimeUnit.SECONDS);

了解更多information

关于java - 如何让我的应用程序在 Android 中等待?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24169816/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com