Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/459.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用javascript设置所有活动都可以看到的变量_Javascript_Android - Fatal编程技术网

使用javascript设置所有活动都可以看到的变量

使用javascript设置所有活动都可以看到的变量,javascript,android,Javascript,Android,我需要设置一个变量,让应用程序中的所有活动都可以看到它,使用webview中加载的javascript。 我尝试过绑定javascript,但不起作用 package xxxx.xxxx; import android.app.Activity; import android.content.Context; import android.webkit.JavascriptInterface; import android.widget.Toast; public class WebAppI

我需要设置一个变量,让应用程序中的所有活动都可以看到它,使用webview中加载的javascript。 我尝试过绑定javascript,但不起作用

package xxxx.xxxx;

import android.app.Activity;
import android.content.Context;
import android.webkit.JavascriptInterface;
import android.widget.Toast;

public class WebAppInterface extends Activity {
    Context mContext;

    /** Instantiate the interface and set the context */
    WebAppInterface(Context c) {
        mContext = c;
    }

    /** Show a toast from the web page */
    @JavascriptInterface
    public void showToast(String toast) {
        // set
        Toast.makeText(mContext, toast, Toast.LENGTH_SHORT).show();
        ((MyApplication) this.getApplication()).setIdUser("foo2");
        // get
    }
}
我也尝试过不使用“扩展活动”,但我得到了以下错误:无法解析方法“getApplication()”

下面是JavaScript和HTML代码:

<script type="text/JavaScript">
    function showAndroidToast(toast) {
        Android.showToast(toast);
    }

</script>
<input type="button" value="Say hello" onClick="showAndroidToast('Hello Android!')" />

函数showAndroidToast(toast){
showToast(toast);
}

显示toast,但未设置全局变量。

然后显示您已尝试的内容此处是您的webview?webview位于Main活动中。你需要我发布吗?我用JS和HTML代码更新了帖子。你可以在类中使用静态变量userid,并在showtoos()方法中设置它的值,这样其他类就可以访问它