标签: handler

我怎么知道postdelayed已经完成了它在android中的操作

我有一个处理程序,我如何知道 postdelayed 方法何时完成。

    new Handler().postDelayed(new Runnable(){
        public void run() {
            ll.setEnabled(false);
        } 
    }, 3000);  
Run Code Online (Sandbox Code Playgroud)

android handler

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

为什么将removeCallbacks()与postDelayed()一起使用?

我试图通过浏览 Android Studio 中提供的全屏活动模板来了解其功能,特别是我们removeCallbacks()结合使用的一个特殊原因。postDelayed()在全屏活动模板中,当触摸屏幕时,它将在一定毫秒数后显示/隐藏状态栏和导航/系统栏,在此模板的情况下为 3000 毫秒。


private void hide() {
    // Hide UI first
    ActionBar actionBar = getSupportActionBar();
    if (actionBar != null) {
        actionBar.hide();
    }
    mControlsView.setVisibility(View.GONE);
    mVisible = false;

    // Schedule a runnable to remove the status and navigation bar after a delay
    mHideHandler.removeCallbacks(mShowPart2Runnable); // <------ Comment/uncomment
    mHideHandler.postDelayed(mHidePart2Runnable, UI_ANIMATION_DELAY);
}

@SuppressLint("InlinedApi")
private void show() {
    // Show the system bar
    mContentView.setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
            | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION);
    mVisible = true;

    // Schedule a runnable to display UI elements after a …
Run Code Online (Sandbox Code Playgroud)

java android handler runnable postdelayed

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

如何在go中为同一个uri分配多个处理程序?

当请求中存在“/”模式时,我需要完成两项任务,这两项任务都需要使用 http 处理程序。

他们是:

http.Handle("/", http.FileServer(http.Dir("dtfw-tool/build/")))
http.HandleFunc("/", index)
Run Code Online (Sandbox Code Playgroud)

索引处理程序检查访问网页的正确身份验证,并且它上面的处理程序提供一个目录(将来,如果满足身份验证要求,我将使它只提供目录服务)。

是否可以为相同的模式使用两个处理程序(当前给出错误)?如果没有,是否还有其他方法可以检查身份验证并使用单个处理程序提供目录?

http handler go

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

Android Studio - 如何停止片段中的 handler.postDelayed ?

描述:

研究了一段时间,我找到了下一行代码:

handler.removeCallbacksAndMessages(null);
Run Code Online (Sandbox Code Playgroud)

我已经尝试过了,并不能解决我的问题。这是我得到的错误:

java.lang.IllegalStateException: Fragment fragment_languages{f33796} not attached to a context.
at androidx.fragment.app.Fragment.requireContext(Fragment.java:696)
    at androidx.fragment.app.Fragment.getResources(Fragment.java:760)
    at com.example.ui.INICIO.CATEGORIAS.LANGUAGES.fragment_languages.fillRecycler4(fragment_languages.java:173)
    at com.example.ui.INICIO.CATEGORIAS.LANGUAGES.fragment_languages.access$200(fragment_languages.java:21)
    at com.example.ui.INICIO.CATEGORIAS.LANGUAGES.fragment_languages$3.run(fragment_languages.java:61)
    at android.os.Handler.handleCallback(Handler.java:789)
    at android.os.Handler.dispatchMessage(Handler.java:98)
    at android.os.Looper.loop(Looper.java:164)
    at android.app.ActivityThread.main(ActivityThread.java:6694)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:769)
Run Code Online (Sandbox Code Playgroud)

我正在调用三个处理程序,在不同的时间将项目加载到三个不同的回收器视图中(这是因为,如果我不等待就加载它们,应用程序会因使用太多内存或类似的情况而崩溃)。

问题:

“巨魔”用户可以进入我的应用程序,然后进入这个片段,其中我有 4 个处理程序,并在他进入后按后退按钮,这也会使我的应用程序崩溃。这就是为什么我想停止处理程序(当按下后退按钮时)。

我可以做什么来修复此错误?

您需要了解什么:

我的带有处理程序的片段位于活动内部(当然)。后退按钮位于活动中(而不是片段中)。

《片段语言》JAVA代码:

father p = new father();

fillRecycler1();

    p.handler.postDelayed(new Runnable() {
        @Override
        public void run() {
            fillRecycler2();
        }
    },1500);

    p.handler.postDelayed(new Runnable() {
        @Override
        public void run() {
            fillRecycler3();
        }
    },2500);

    p.handler.postDelayed(new Runnable() {
        @Override
        public void …
Run Code Online (Sandbox Code Playgroud)

android handler fragment android-studio

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

...vendor/composer/ClassLoader.php:444 (Laravel) 中没有这样的文件或目录

我正在 Laravel 中编写代码。当我尝试使用表单中的文件发布帖子时,它将引发以下异常:

收到错误'PHP消息:PHP致命错误:未捕获ErrorException:包括(/var/www/vhosts/web2/httpdocs/vendor/composer/../../app/Exceptions/Handler.php):无法打开流: /var/www/vhosts/web2/httpdocs/vendor/composer/ClassLoader.php:444\nStack trace:\n#0 中没有此类文件或目录
。。。

n#5 /var/www/vhosts/web2/httpdocs/vendor/laravel/framework/src/Illuminate/Container/Container.php(803): ReflectionClass->__construct('App\...', 引用: (隐藏)

添加.blade.php:

@include('flash::message')
<form class="form-horizontal" enctype="multipart/form-data" action="{{action('SheetController@add')}}" method="post">
@csrf
<div class="form-group">
  <label class="col-md-4 control-label" for="icao">ICAO</label>  
  <div class="form-group col-md-4">
    <input placeholder="i.e. SAAC" class="form-control input-md" id="icao" name="icao" type="text" required />
  </div>
</div>

<div class="form-group">
  <label class="col-md-4 control-label" for="fir">FIR</label>  
  <div class="col-md-4">
    <select id="fir" name="fir" class="form-control input-md" required>
    <option value="SAEF">Ezeiza</option>
    <option value="SACF">C&oacute;rdoba</option>
    <option value="SAMF">Mendoza</option>
    <option value="SAVF">Comodoro Rivadavia</option>
    <option value="SARR">Resistencia</option>
   </select>
  </div>
</div>

<div class="form-group">
  <label class="col-md-4 control-label" for="version">Version</label>  
  <div class="form-group col-md-4">
    <input …
Run Code Online (Sandbox Code Playgroud)

php exception handler classloader laravel

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

无服务器 AWS Lambda Edge:格式错误的HandlerName

我按照下面的示例设置 Lambda Edge 函数:
https://www.serverless.com/blog/lambda-at-edge-support-linked

代码:./handler.js

// SAME CODE STRUCTURE AS ORIGINAL, JUST ADDING A HEADER TO TEST
'use strict';

exports.handler = (event, context, callback) => {    
    const response = event.Records[0].cf.response;
    const headers = response.headers;
    headers['test-lambda-edge'] = [{ key: 'test-lambda-edge', value: 'working' }]
    callback(null, response);
};
Run Code Online (Sandbox Code Playgroud)

配置:./serverless.yml

# SAME CONFIG AS ORIGINAL, JUST CHANGING eventType and origin
service: mylambda
provider:
  name: aws
  runtime: nodejs12.x
  lambdaHashingVersion: 20201221
functions:
  cfLambda:
    handler: functions/handler.cloudfront
    events:
      - cloudFront:
          eventType: origin-response
          origin: https://example.org
Run Code Online (Sandbox Code Playgroud)

该功能正确部署: …

handler amazon-web-services node.js aws-lambda serverless-framework

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

如何使用Timer(Thread)类处理异常

我正试图处理这个Timer例外.如果类有类似的东西HandlerExceptionEvent我们可以添加一些事件来记录某些东西或停止计时器,那将是很好的.

PS:我不想在里面添加一个try/ catchblock ElapsedEventHandler().

class Program
{
static void Main(string[] args) {
  System.Timers.Timer t = new System.Timers.Timer(1000);
  t.Elapsed += new System.Timers.ElapsedEventHandler(t_Elapsed);
  t.Start();     

  System.Threading.Thread.Sleep(10000);
  t.Stop();
  Console.WriteLine("\nDone.");      
  Console.ReadLine();
}

 static void t_Elapsed(object sender, System.Timers.ElapsedEventArgs e) {
   Console.WriteLine("Ping!");
   throw new Exception("Error!");
 }
}
Run Code Online (Sandbox Code Playgroud)

c# multithreading timer handler

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

无法在未调用looper.prepare的线程内创建处理程序

注意:我知道有很多与此相关的问题,但我仍然没有说服,所以问.

当我尝试显示对话框时,我无法在线程中创建处理程序而没有调用looper.prepare.

这是我的代码......

//这个方法是根据某个条件从不同的方法调用的,这个条件是在单击按钮时调用的

 private void download() {
    thread = new Thread() {
     public void run() {
    /**** Downloads each tour's Tour.plist file ****/
            try {
                // do many heavy operations here, like download, 
                //calling web webvice and starting another activity

               This comes at the end

                Intent toAudio = new Intent(TourDescription.this,Audio.class);
                startActivity(toAudio);
         } catch (Exception e) {
       }  

       }
    }; 
    thread.start();
 }
Run Code Online (Sandbox Code Playgroud)

在此行为被调用之前,我正试图展示一个对话框.我试着在调用Intent之前放置它.

任何人都可以告诉我如何做到这一点,因为我不明白如何解决这个问题

multithreading android dialog handler

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

ProgressDialog在加载Activity时

我发现这个代码在SO中显示ProgressDialog加载时Activity:

progDailog = ProgressDialog.show(MyActivity.this, "Process", "please wait....", true, true);

new Thread(new Runnable() {
    public void run() {
        // code for load activity
}).start();

Handler progressHandler = new Handler() {
    public void handleMessage(Message msg1) {
        progDailog.dismiss();
    }
};
Run Code Online (Sandbox Code Playgroud)

但我总是得到这个例外:

java.lang.RuntimeException:无法在未调用Looper.prepare()的线程内创建处理程序

感谢您对此问题的任何帮助,在此先感谢您.

android handler progressdialog

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

事件处理程序和监听器和事件冒泡和事件捕获

我对JavaScript中的"Event Listener","Event Handler","Event Bubbling"和"Event Capturing"感到困惑.

我在互联网上搜索并查看了不同的网站但是,我仍然有一些问题了解一些差异甚至基本条件.

正如本文所述,创建事件处理程序并侦听事件.

  • 这是否意味着,附加到DOM内部元素的JavaScript函数不是事件处理程序,它们是事件监听器?

此外,在这里我发现了"事件冒泡"和"事件捕获"之间的区别.此外,我前段时间已经阅读过dojo所有事件都被<body>标签捕获.

  • 是否意味着DOM中的其余元素没有附加JavaScript?

  • 更确切地说,如果一个事件将由父母通过"事件冒泡"处理,那么就没有必要为孩子们​​添加听众吗?

这些术语背后的确切定义是什么?

javascript jquery events dojo handler

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