相关疑难解决方法(0)

如何在Android中暂停/休眠线程或进程?

我想在两行代码之间暂停一下,让我解释一下:

- >用户单击一个按钮(实际上是一张卡片),我通过更改此按钮的背景来显示它:

thisbutton.setBackgroundResource(R.drawable.icon);
Run Code Online (Sandbox Code Playgroud)

- >让我们说1秒后,我需要通过改变它的背景来回到按钮的先前状态:

thisbutton.setBackgroundResource(R.drawable.defaultcard);
Run Code Online (Sandbox Code Playgroud)

- >我试图在这两行代码之间暂停线程:

try {
    Thread.sleep(1000);
} catch (InterruptedException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
}
Run Code Online (Sandbox Code Playgroud)

但是,这不起作用.也许这是我需要暂停的过程而不是线程?

我也尝试过(但它不起作用):

new Reminder(5);
Run Code Online (Sandbox Code Playgroud)

有了这个:

public class Reminder {

Timer timer;

        public Reminder(int seconds) {
            timer = new Timer();
            timer.schedule(new RemindTask(), seconds*1000);
        }

        class RemindTask extends TimerTask {
            public void run() {
                System.out.format("Time's up!%n");
                timer.cancel(); //Terminate the timer thread
            }
        }  
    }
Run Code Online (Sandbox Code Playgroud)

如何暂停/休眠线程或进程?

multithreading android process

284
推荐指数
9
解决办法
58万
查看次数

如何在Kotlin延迟后调用一个函数?

作为标题,有没有办法在延迟后调用一个函数(例如1秒)Kotlin

android kotlin

110
推荐指数
10
解决办法
9万
查看次数

Timertask或Handler

假设我想每10秒执行一次操作,并不一定需要更新视图.

问题是:使用带有timertask的计时器是否更好(我的意思是更有效率和更有效),如下所示:

final Handler handler = new Handler();

TimerTask timertask = new TimerTask() {
    @Override
    public void run() {
        handler.post(new Runnable() {
            public void run() {
               <some task>
            }
        });
    }
};
timer = new Timer();
timer.schedule(timertask, 0, 15000);
}
Run Code Online (Sandbox Code Playgroud)

或者只是一个带有postdelayed的处理程序

final Handler handler = new Handler(); 
final Runnable r = new Runnable()
{
    public void run() 
    {
        <some task>
    }
};
handler.postDelayed(r, 15000);
Run Code Online (Sandbox Code Playgroud)

如果您能解释何时使用哪种方法以及为什么其中一种方法比另一种方法更有效(如果它实际上是这样),我将不胜感激.

performance android timer handler timertask

96
推荐指数
3
解决办法
6万
查看次数

如何在没有锁定android中的应用程序UI的情况下等待10秒钟

我遇到了问题,我想等待10秒,因为我希望我的应用程序在10秒后启动下面的代码,但不会阻止该人点击应用程序中的任何其他内容(调用Thread.sleep();).

try {
    Log.v("msg", "WAIT CheckFrequencyRun");
    Thread.sleep(10000); // giving time to connect to wifi
    
   } catch (InterruptedException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
   }
   //if no network
   if(wifiManager.getConnectionInfo().getNetworkId()==-1){
    //stop wifi
    wifiManager.setWifiEnabled(false);
    Log.v("msg", "no connection");
    handler.postDelayed(this, checkInterval);
   }
   //else connection
   else{
    Log.v("msg", "connection");
    onDestroy();
   }
Run Code Online (Sandbox Code Playgroud)

java android wait

36
推荐指数
2
解决办法
12万
查看次数

android程序中的睡眠功能

让我的程序进入睡眠时遇到一些问题我试图做的是当按下btnStart时firs随机设置图片到12 ImageButtons然后我希望它暂停5秒然后将第一个ImageButton更改为另一张图片

我的代码看起来像这样,现在当按下按钮时它会立即暂停...

       btnStart.setOnClickListener(new View.OnClickListener() {
        @Override

        public void onClick(View v) {
            // TODO Auto-generated method stub

            Collections.shuffle(pic);
            int time=1;
            press=true;

            pic.get(0).setImageDrawable(getResources().getDrawable(R.drawable.memgreen));
            pic.get(1).setImageDrawable(getResources().getDrawable(R.drawable.memgreen));
            pic.get(2).setImageDrawable(getResources().getDrawable(R.drawable.memred));
            pic.get(3).setImageDrawable(getResources().getDrawable(R.drawable.memred));
            pic.get(4).setImageDrawable(getResources().getDrawable(R.drawable.memblue));
            pic.get(5).setImageDrawable(getResources().getDrawable(R.drawable.memblue));
            pic.get(6).setImageDrawable(getResources().getDrawable(R.drawable.memwhite));
            pic.get(7).setImageDrawable(getResources().getDrawable(R.drawable.memwhite));
            pic.get(8).setImageDrawable(getResources().getDrawable(R.drawable.mempurple));
            pic.get(9).setImageDrawable(getResources().getDrawable(R.drawable.mempurple));
            pic.get(10).setImageDrawable(getResources().getDrawable(R.drawable.memyellow));
            pic.get(11).setImageDrawable(getResources().getDrawable(R.drawable.memyellow));

            try {
                Thread.sleep(5000);

                pic.get(0).setImageDrawable(getResources().getDrawable(R.drawable.coin));

            } catch (InterruptedException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
     }
  });
Run Code Online (Sandbox Code Playgroud)

java android thread-sleep

14
推荐指数
1
解决办法
6万
查看次数

5毫秒后调用方法

如何在使用MediaPlayer播放音频5毫秒后调用记录方法.我尝试了类似的东西,但我不知道,我没有找到任何好的例子来结束这个.

while(mp.isPlaying()){
    if(record=0){
       for(int i=0; i<5millisec; i++){ //how to define 5 millisec or is any better solution
       }
    startRecord();
    record=1;
    }
}
mp.stop();
mp.release();
mp=null;   
Run Code Online (Sandbox Code Playgroud)

android record delay playing

13
推荐指数
2
解决办法
5万
查看次数

如何将布局延迟1秒,然后在Android中显示另一个布局

像这样的东西......

setContentView(R.layout.page1);
Thread.sleep(1000);
setContentView(R.layout.page2);
Run Code Online (Sandbox Code Playgroud)

android

3
推荐指数
1
解决办法
9445
查看次数

如何延迟 Android 中的某些操作,以便任务在设置的延迟后完成?

我正在尝试在 Android 中开发一个应用程序,其中有一些需要在一段时间后执行的操作。

我可以做些什么来实现这个目标?

multithreading android action android-task

2
推荐指数
1
解决办法
4297
查看次数

延迟改变颜色

我想在按下按钮时更改textview的背景颜色.它应该这样做:首先是白色10毫秒,然后只是常规颜色.是否有某种延迟功能或者我是否需要使用循环或某种类型编写我自己的函数?任何提示非常感谢:)

这一刻我只是用

button.setBackgroundColor(Color.parseColor("#ffa500"));
Run Code Online (Sandbox Code Playgroud)

java android loops delay

0
推荐指数
1
解决办法
1859
查看次数

Android:在toast显示中添加延迟?

我希望显示一个toast特定条件是truefalse.但是我想这个举杯delaytwo seconds前被显示.

我怎样才能做到这一点?

当前if语句:

if (result.equals("true")) {

                        loginDataBaseAdapter.updateUploadedRecord(sessionId);

                            Toast.makeText(MathsGameResults.this,
                                    "Data is successfully uploaded.",
                                    Toast.LENGTH_LONG).show();

                        } else {
                            Toast.makeText(
                                    MathsGameResults.this,
                                    "Error while uploading. Please try again later.",
                                    Toast.LENGTH_LONG).show();
                        }

                    }
Run Code Online (Sandbox Code Playgroud)

android toast

0
推荐指数
1
解决办法
4346
查看次数