标签: handler

在Android中解雇ProgressDialog

当我单击列表项时,我想打开一个ProgressDialog,它打开了Web服务所单击项的数据.需要出现ProgressDialog,直到单击的项的WebContent被打开.

我知道使用Progress Dialog的代码,但我不知道如何解雇它.

我听说Handler将用于解雇Progress Dialog,但我没有找到最终使用Handler的任何有价值的例子.

任何人都可以告诉我如何使用处理程序来关闭进度对话框?

谢谢,大卫

android handler progressdialog

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

Handler中的问题与android中的消息

我在我的应用程序中使用处理程序,在一个屏幕中通过单击按钮将调用一组代码.要调用该组代码,我将消息发送到处理程序并覆盖句柄消息方法.第一次单击按钮时,处理程序完美运行并执行代码集.当我第二次点击该按钮时,我得到以下异常.

05-03 09:45:25.703: ERROR/AndroidRuntime(1971): FATAL EXCEPTION: main
05-03 09:45:25.703: ERROR/AndroidRuntime(1971): android.util.AndroidRuntimeException: { what=1 when=7381217 obj=android.app.AlertDialog@462b5c58 } This message is already in use.
05-03 09:45:25.703: ERROR/AndroidRuntime(1971):     at android.os.MessageQueue.enqueueMessage(MessageQueue.java:171)
05-03 09:45:25.703: ERROR/AndroidRuntime(1971):     at android.os.Handler.sendMessageAtTime(Handler.java:457)
05-03 09:45:25.703: ERROR/AndroidRuntime(1971):     at android.os.Handler.sendMessageDelayed(Handler.java:430)
05-03 09:45:25.703: ERROR/AndroidRuntime(1971):     at android.os.Handler.sendMessage(Handler.java:367)
05-03 09:45:25.703: ERROR/AndroidRuntime(1971):     at com.mysnob.utils.MessageDialog$8.onClick(MessageDialog.java:93)
05-03 09:45:25.703: ERROR/AndroidRuntime(1971):     at com.android.internal.app.AlertController$ButtonHandler.handleMessage(AlertController.java:158)
05-03 09:45:25.703: ERROR/AndroidRuntime(1971):     at android.os.Handler.dispatchMessage(Handler.java:99)
05-03 09:45:25.703: ERROR/AndroidRuntime(1971):     at android.os.Looper.loop(Looper.java:144)
05-03 09:45:25.703: ERROR/AndroidRuntime(1971):     at android.app.ActivityThread.main(ActivityThread.java:4937)
05-03 09:45:25.703: ERROR/AndroidRuntime(1971):     at java.lang.reflect.Method.invokeNative(Native Method)
05-03 09:45:25.703: ERROR/AndroidRuntime(1971):     at java.lang.reflect.Method.invoke(Method.java:521)
05-03 09:45:25.703: …
Run Code Online (Sandbox Code Playgroud)

android exception handler

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

UIDocumentInteractionController在没有选项的特定应用程序中打开文件

我正在使用UIDocumentInteractionController在另一个应用程序DropBox中打开一个文件.

我想要做的是在另一个特定的应用程序中打开该文件,但我只管理到目前为止显示支持的应用程序并允许用户选择.

UIDocumentInteractionController *udi = [UIDocumentInteractionController interactionControllerWithURL:[NSURL fileURLWithPath: jpgPath]];
[udi retain];
CGRect r = CGRectMake(0, 0, 300, 300);
[udi presentOpenInMenuFromRect:r inView:self.view animated:YES];
Run Code Online (Sandbox Code Playgroud)

这提供了支持的应用程序列表,但我想使用dropbox直接打开文件,而不使用选项框.有任何想法吗?

iphone objective-c handler ios uidocumentinteraction

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

确保我的代码是线程安全的

我正在做一个Android服务,为其他可以注册为回调的应用程序提供内容.

我不是100%确定Android Handler类是如何工作的,所以有人可以确认我这个代码是线程安全的吗?

public class MyService extends Service {
    private static final String MESSAGE = "message";

    private final RemoteCallbackList<IMyCallback> readerCallbacks = new RemoteCallbackList<IMyCallback>();

    private static final int REPORT_MSG = 1;

    private Thread readerThread;

    @Override
    public void onCreate() {

        readerThread = new Thread(readerRunnable);
        readerThread.setDaemon(true);
        readerThread.start();

    }

    private Runnable readerRunnable = new Runnable() {
        @Override
        public void run() {
            while (!Thread.interrupted()) {

                // Blocking call
                byte[] message = JniCommunicator.readMessage();

                if (message == null || message.length == 0) {
                    continue;
                }

                Bundle b …
Run Code Online (Sandbox Code Playgroud)

android handler android-service

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

为什么在View和Handler上发布和取消runnable导致不同的bahviour?

我一直在玩有关与RunnableS和发现,如果postDelayed一个Runnable一个View然后去除回调将无法正常工作,但是如果你做相同的,但发布Runnable上Handler,然后取下回调不工作.

为什么这样做(Runnablerun()代码永远不会被执行):

Runnable runnable = new Runnable() {
    @Override
    public void run() {
        // execute some code
    }
};

Handler handler = new Handler();
handler.postDelayed(runnable, 10000);
handler.removeCallbacks(runnable);
Run Code Online (Sandbox Code Playgroud)

在哪里没有(Runnablerun()代码总是被执行)?:

Runnable runnable = new Runnable() {
    @Override
    public void run() {
        // execute some code
    }
};

View view = findViewById(R.id.some_view);
view.postDelayed(runnable, 10000);
view.removeCallbacks(runnable);
Run Code Online (Sandbox Code Playgroud)

android view handler runnable

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

如何启动/停止Runnable/Handler?

我正在尝试维护Webservice和Android应用程序之间的数据库同步.下面的代码工作正常,但我遇到了一些问题:

  • 每次我去App的主页面都会启动一个新的无限过程.
  • 这个过程永无止境

任何人都可以按照我的意愿解释如何开始和停止这个过程吗?
我希望这个过程每5分钟运行一次,但只需一次,当应用程序打开时.

public void onCreate(Bundle savedInstanceState) {   
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    final Handler handler = new Handler();
    final Runnable r = new Runnable() {
        public void run() {
            // DO WORK
            Mantenimiento();
            // Call function.
            handler.postDelayed(this, 1000000);
        }
    };
    r.run();
}
Run Code Online (Sandbox Code Playgroud)

android handler runnable

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

PyQt:如何在没有继承的情况下处理事件

如何在没有继承的情况下处理鼠标事件,用例可以描述如下:

假设我想让QLabel对象变为handel MouseMoveEvent,教程中的方式通常会影响我们创建一个从QLabel继承的新类.但是我可以使用lambda表达式来处理事件而不需要继承

ql = QLabel()
ql.mouseMoveEvent = lambda e : print e.x(), e.y()
Run Code Online (Sandbox Code Playgroud)

所以我不需要编写整个类,只需使用简单的lambda表达式来实现一些简单的事件.

python events pyqt handler pyqt4

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

在Handler中执行所有已安排的(postDelayed)runnable

我使用一个Handler,它发布了一些Runnablevia postDelayed(r, DELAY_TIME),但我需要Runnables在发布新的via之前执行所有操作postDelayed.

任何好的想法如何尽可能简单地实现这一点?

编辑:

我希望它基本上像这样:

Runnable r = new Runnable() {
    // Do some fancy action
};

if (mHandler.runnablesScheduled) {
    mHandler.flushAllScheduledRunnables();
}
mHandler.postDelayed(r, DELAY);
Run Code Online (Sandbox Code Playgroud)

android handler runnable android-handler

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

滑动不动画从缓存加载的ImageView

我正在使用Glide作为我的图像加载器,并希望图像在背景中淡出.我遇到的问题是,一旦图像显示一次,它就没有动画效果.

int i = 0;
int[] images = {
        R.drawable.sunset1,R.drawable.sunset2,R.drawable.sunset3
}; 

if(i < images.length - 1){
 i++;
}else{
 i = 0;
}
Glide.with(MainActivity.this).load(images[i]).placeholder(imageView.getDrawable()).crossFade(1000).into(imageView);
Run Code Online (Sandbox Code Playgroud)

android handler imageview android-glide

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

如何访问调用我的lambda函数的url

我使用无服务器框架来部署我的lambda函数.无服务器使用API​​网关来创建我的端点.我知道可以在GET等方法中传递参数,并使用事件对象在lambda中使用它.前端已经部署,他们使用以下URL来调用端点:

example.com/api/EG43

`exports.myHandler = async function(event, context) {
        ...

        // somehow access the URL which was used by the frontend 
        // to grab that EG43 and then return the result based on that key.
        // return information to the caller.  
 }
Run Code Online (Sandbox Code Playgroud)

哪个EG43是前一个后端根据该键返回结果的键.我的问题是,如果可以以某种方式知道URL是什么.AWS的以下文档显示了可以使用处理程序参数读取的参数,但它没有URL.

https://docs.aws.amazon.com/lambda/latest/dg/nodejs-prog-model-handler.html

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

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