小编Mr.*_*. S的帖子

使用JavascriptInterface时未捕获TypeError

我目前正在webview中以HTML格式向用户显示一堆数据.我在每个条目下面都有一些链接,单击时应该在我的应用程序中调用方法.Android WebView的javascript界面​​似乎是处理这些事情的最佳(唯一?)方式.但是,每当我单击该链接时,都会收到以下错误消息:ERROR/Web Console(6112): Uncaught TypeError: Object [my namespace]@4075ff10 has no method 'edit' at [base URL]:55

我声明了以下接口:

public class JavaScriptInterface {
    Context context;

    JavaScriptInterface(Context c) {
        context = c;
    }

    public void edit(String postid) {
        Log.d("myApp", "EDIT!");
        //do stuff
    }
}
Run Code Online (Sandbox Code Playgroud)

然后我将它添加到我的WebView:

final WebView threadView = (WebView) findViewById(R.id.webViewThread);
threadView.getSettings().setJavaScriptEnabled(true);
threadView.addJavascriptInterface(new JavaScriptInterface(this), "Android");
Run Code Online (Sandbox Code Playgroud)

最后,我在我的HTML中调用它如下:

<div class="post-actions">
    <div class="right">
        <a onClick="Android.edit('4312244');">Edit</a>
    </div>
</div>
Run Code Online (Sandbox Code Playgroud)

当我通过模拟器或adb连接到我的手机调试我的应用程序时,真正的踢球者就是这一切.当我构建和发布应用程序时,它会中断.

我的智慧结束了.任何帮助或建议将不胜感激!

javascript android android-webview

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

从 Pylint 中排除测试文件

我的单元测试与源代码并存。IE

??? __init__.py
??? formatter.py
??? test_formatter.py
Run Code Online (Sandbox Code Playgroud)

有没有办法让 Pylinttest_从它的分析中排除所有带有前缀的文件?在ignore配置选项似乎并不喜欢通配符。

python testing pylint

5
推荐指数
1
解决办法
3510
查看次数

无法从Java中的命名管道读取

我通过调用mkfifo()命令使用JNI创建命名管道.我使用的是mode = 0666.

我正在尝试使用Java写入管道,但是在写入管道时我遇到了问题.我被困在以下一行并且无法通过它.我也没有收到任何错误.

PrintWriter out = new PrintWriter((new BufferedWriter(new FileWriter(pipePath))));
Run Code Online (Sandbox Code Playgroud)

请帮忙.

问候,

-H

PipePeer.java

import java.io.*;*

public class PipePeer {

    private native int createPipe(String pipeName, int mode);* // --------> native method to call mkfifo(pipeName, mode); 
    static {
        System.load("/home/user/workspace/Pipes/libpipe.so");
    }

    public static void main(String[] args) {

        PipePeer p = new PipePeer();
        PipeImplement pi = new PipeImplement();
        String pipePath = "/home/user/workspace/Pipes/pipeFolderpipe1";
        int mode = 0777;
        int createResult = p.createPipe(pipePath, mode);
        if (createResult == 0)
            System.out.println("Named pipe created successfully");
        else
            System.out.println("Error: couldnot …
Run Code Online (Sandbox Code Playgroud)

java named-pipes

4
推荐指数
1
解决办法
6954
查看次数

当值全为零时,Postgres 时间戳字段不显示微秒部分

上下文:我正在使用 Postgres 9.3 和 psql (PostgreSQL) 11.1。

给出下表:

create table ts_test(ts timestamp);
Run Code Online (Sandbox Code Playgroud)

以下插入命令以微秒粒度显示时间:

INSERT INTO ts_test
VALUES
    (now()),
    (TIMESTAMP '2019-03-06 20:18:41.000001');
Run Code Online (Sandbox Code Playgroud)
select * from ts_test;
             ts
----------------------------
 2019-03-06 20:40:35.062547
 2019-03-06 20:18:41.000001
Run Code Online (Sandbox Code Playgroud)

但是,当插入全零作为微秒分量的时间戳时,我观察到以下行为:

INSERT INTO ts_test VALUES (TIMESTAMP '2019-03-06 20:18:41.000000');
Run Code Online (Sandbox Code Playgroud)
select * from ts_test;
             ts
----------------------------
 2019-03-06 20:40:35.062547
 2019-03-06 20:18:41.000001
 2019-03-06 20:18:41
Run Code Online (Sandbox Code Playgroud)

我已经仔细阅读了文档,但对于为什么第三个条目中省略了微秒,我完全一片空白。

postgresql psql

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