标签: handler

Android中的Handler-Looper实现

  1. 我有Activity with Handler(UI线程)
  2. 我启动新的Thread并生成handler.post(new MyRunnable()) - (新工作线程)

关于post方法的Android文档说:"导致Runnable r被添加到消息队列中.sunnable将在这个处理程序所附加的线程上运行."

处理程序附加到UI线程.android如何在没有新线程创建的情况下在同一个UI线程中运行runnable?

是否将使用来自handler.post()的Runnable创建新线程?或者只有run()方法将从Runnable子类调用?

implementation android handler looper

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

什么是'on quit'处理程序用于?

我知道所有的基本处理,即on run,on openon reopen.但是这个处理程序on quit让我很困惑.我的问题是,它用于什么以及如何触发?

applescript handler

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

HandlerThread should i override run()?

I'm trying to use the HandlerThread class to manage thread in my application. The following code is working great :

public class ThreadA extends HandlerThread
{
    private void foo()
    {
        //do something
    }

    private void bar()
    {
        //Do something else
    }

    @Override
    public boolean handleMessage(Message msg) {
        switch(msg.what)
        {
            case 1:
            {
                this.foo();
                break;
            }

            case 2:
            {
                this.bar();
                break;
            }
        }
        return false;
    }

    @Override
    protected void onLooperPrepared()
    {
        super.onLooperPrepared();
        synchronized (this) {
            this.AHandler = new Handler(getLooper(),this);
            notifyAll();
        } …
Run Code Online (Sandbox Code Playgroud)

multithreading android handler

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

char device catch multiple(int)ioctl-arguments

我必须编写一个linux char设备,它根据unlock_ioctl处理ioctl(没有BKL)函数.目前我可以从userspace ioctl命令获得一个参数

__get_user(myint, (int __user *) arg);
Run Code Online (Sandbox Code Playgroud)

我怎样才能收到多个int参数(例如这个调用)?:

ioctl(fp, SZ_NEW_DEV_FORMAT, 0, 1, 30);
Run Code Online (Sandbox Code Playgroud)

c linux kernel ioctl handler

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

Android线程处理程序没有收到消息

我遇到一个接收消息的线程处理程序的问题.我实现的所有其他线程这种模式工作正常.我的代码:

启动线程

InternalScoresThread t = new InternalScoresThread(
    this.game.getApplicationContext(),
    this.map.fileName, this.map.getCurrentTime(),
    new Handler() {

        @Override
        public void handleMessage(Message msg) {

            Log.d("DEBUG", "message received");

            if (msg.getData().getBoolean("record")) {

                Player.this.showtRecordMessage();

            } else {

                Player.this.showtFinishMessage();
            }

            Player.this.showTimeMessage();
            Player.this.showRestartMessage();
        }
});

t.start();
Run Code Online (Sandbox Code Playgroud)

线程类

public class InternalScoresThread extends Thread {

    private Handler handler;
    private String map;
    private float time;
    private Context context;

    public InternalScoresThread(Context context, String map, float time, Handler handler) {

        this.context = context;
        this.handler = handler;
        this.map = map;
        this.time = time;
    }

    @Override
    public …
Run Code Online (Sandbox Code Playgroud)

multithreading android handler

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

创建事件处理程序+ =

我在我的webform上使用它来创建动态按钮.

Button b1 = new Button();
Run Code Online (Sandbox Code Playgroud)

我想得到这个:

b1.Click+=new EventHandler(OnClick);
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?我希望事件是自动创建的,可以通过按两次标签或其他东西来完成,但我忘记了...

c# events dynamic button handler

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

setValue(true)时gwt checkbox fire handler

我有一个复选框,上面有一个valueChangeHandler.当用户选中复选框时,它可以工作.

出于某种原因,我需要在我的代码中为此复选框设置一个值,如下所示:

checkbox.setValue(true),复选框在视觉上完美检查,但我的问题是它不会触发我的valueChangeHandler.

checkBox.setValue(true);

checkBox.addValueChangeHandler(new ValueChangeHandler<Boolean>() {
   @Override
   public void onValueChange(ValueChangeEvent<Boolean> event) {
     ...
   }
});
Run Code Online (Sandbox Code Playgroud)

我设置一个值时是否有另一个处理程序可以触发?还是另一种方式来点这个?

谢谢

编辑:我也尝试了checkbox.setValue(true,true),但它不起作用.

已解决:setValue必须在注册处理程序之后.谢谢

checkbox gwt handler valuechangelistener setvalue

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

在可运行任务中循环处理时,处理程序冻结UI [android]

我想重复 - - -...等等.当能量达到某个阈值并重放时,记录(秒)停止.播放后,开始新录制.因此,我必须使用缓冲区监视能量,并在回放时间计算后开始新的记录.我的伪代码(最简化的形式)如下所示:

...

public class MainActivity extends Activity {
    private Handler myHandler = new Handler();

....

    private Runnable timedTask = new Runnable() {
        public void run() {
           audiorecorder = new AudioRecord(...  initializes
           audiorecorder.startRecording();
           isRecording = true; 
           ElapsedTime = 0.0;
           while(true) {
                ReadByte = audiorecorder.read(buffer, 0, buffersize);
                // Write ReadByte onto file (temp.pcm)

                EnergyBuffer = <some averaged energy over a period (1 sec or so)>
                if(EnergyBuffer > Threshold)
                     break;
                ElapsedTime = ...
           }
           // audiorecorder.release, stop, and null
           // …
Run Code Online (Sandbox Code Playgroud)

java android handler

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

单击按钮启动计时器

我是Android编程的新手,但我知道Java.我的问题是,计时器如何在Android中运行?我已经读过,最好使用处理程序.我想要做的是,你点击一个按钮,计时器启动.到点击按钮的那一刻对我来说很明显但是如何启动计时器?

android timer handler

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

如何确定两个句柄是否引用同一个文件

我想检查两个文件句柄是否引用同一个文件。为此,我可以使用stat应用于每个文件句柄的功能吗?提前致谢

my $file = 'C:\temp\file.txt');
open( TXT1, "> $file" );
open( TXT2, "> $file" );
print( "The handles refer to the same file!") if (\TXT1 eq \TXT2);
Run Code Online (Sandbox Code Playgroud)

perl handler stat filehandler

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