Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/183.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
android:带有JavaScript的网络视图,内容在CreateOptions菜单()上消失;_Javascript_Android_Html_Webview_Android Optionsmenu - Fatal编程技术网

android:带有JavaScript的网络视图,内容在CreateOptions菜单()上消失;

android:带有JavaScript的网络视图,内容在CreateOptions菜单()上消失;,javascript,android,html,webview,android-optionsmenu,Javascript,Android,Html,Webview,Android Optionsmenu,我有一个程序,有三个网络视图。每个webview都支持JavaScript,并具有动态生成的内容(列表、图标、旋转动画等)。那里一切都很好 现在我想添加一个复制粘贴功能,以便用户可以将其他活动中的值粘贴到剪贴板,然后将它们复制到我的活动中。我想使用选项菜单来做这件事-显示“复制”和“粘贴”选项。现在的问题是,无论我使用什么方法创建选项菜单(即OnCreateOptions menu(),或使用onKeyDown()中步停止webview使用事件),以及我是否使用.add或定义XML中的菜单,只要

我有一个程序,有三个网络视图。每个webview都支持JavaScript,并具有动态生成的内容(列表、图标、旋转动画等)。那里一切都很好

现在我想添加一个复制粘贴功能,以便用户可以将其他活动中的值粘贴到剪贴板,然后将它们复制到我的活动中。我想使用选项菜单来做这件事-显示“复制”和“粘贴”选项。现在的问题是,无论我使用什么方法创建选项菜单(即OnCreateOptions menu(),或使用onKeyDown()中步停止webview使用事件),以及我是否使用.add或定义XML中的菜单,只要按下菜单按钮,我的webview的HTML内容就会消失

有人知道为什么会这样吗?菜单是否会导致调用某种类型的onPause,这可能会导致卸载html?下面是我制作菜单/加载我的网络视图等的代码

public boolean onCreateOptionsMenu(Menu menu) {

   // menu.add(0, 0, 0, "test");
    menu.add("HELP");
    return true;
}

public boolean onKeyDown(int keyCode, KeyEvent event) {
    if (keyCode == KeyEvent.KEYCODE_MENU) {
        // do your menu stuff here
       openOptionsMenu();

       return true;

    }
        else
        return super.onKeyDown(keyCode, event);
}

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    // starting values for each spinner
    cur1Sel="Distance";
    cur2Sel="Inch";
    cur3Sel="Milimeter";
    // starting inp and outp vals
    inputValue = "";
    outputValue="";
    // init my constats from above...
    POINT = 98;
    CLEAR = 99;

    face = Typeface.createFromAsset(getAssets(),"helv_bold.ttf");
    format= new DecimalFormat("#.##");
    // nab them application resrouces you banger you.
    res = getResources();
    // build ouor arrays for display purposes
    measure_array = res.getStringArray(R.array.measure_array);
    input_array = res.getStringArray(R.array.distance_array);
    output_array = res.getStringArray(R.array.dist_inches_array);
    // init measure abbreviation arrays, otherwise we get null pointers first round....
    measure_abbrevs = new String[1];
    measure_abbrevs[0] = "none";

    // build abbreviation resrouces
    input_abbrevs = res.getStringArray(R.array.dist_abbrev_array);
    output_abbrevs = res.getStringArray(R.array.dist_inches_abbrev_array);
    // Webviews For Each Spinner
    measure_spinner = (WebView) this.findViewById(R.id.measure_view);

    input_spinner = (WebView) this.findViewById(R.id.input_view);
    output_spinner = (WebView) this.findViewById(R.id.output_view);

    // this lets everyone know where we start....
    curMeasure="Distance";
    // Measurement Spinner
    measure_spinner.getSettings().setJavaScriptEnabled(true);
    measure_spinner.addJavascriptInterface(new AndroidSpinnerBridge(), "android");
    measure_spinner.setVerticalScrollBarEnabled(false);

   // measure_spinner.getSettings().setUseWideViewPort(false); 
    //input Spinner
    input_spinner.getSettings().setJavaScriptEnabled(true);
    input_spinner.addJavascriptInterface(new AndroidSpinnerBridge(), "android");
    input_spinner.setVerticalScrollBarEnabled(false);

    //input_spinner.loadUrl("javascript:SpinningWheel.setId({2});");
    //output Spinner
    output_spinner.getSettings().setJavaScriptEnabled(true);
    output_spinner.addJavascriptInterface(new AndroidSpinnerBridge(), "android");
    output_spinner.setVerticalScrollBarEnabled(false);


    // buttons!  weeee! Buttons!!

    // IMPORTANT.. WAIT AWHILE FOR THE WEBVIEW TO PREPARE< OTHERWISE RENDERING MIGHT FAIL.  Then load.

    input_spinner.loadUrl("file:///android_asset/index_sp2.html");
    measure_spinner.loadUrl("file:///android_asset/index_sp1.html");
    output_spinner.loadUrl("file:///android_asset/index_sp3.html");
    measure_spinner.loadUrl("javascript:SpinningWheel.fixTheFuckingError();");



};  
public boolean oncreateoptions菜单(菜单菜单){
//添加(0,0,0,“测试”);
菜单。添加(“帮助”);
返回true;
}
公共布尔onKeyDown(int-keyCode,KeyEvent事件){
if(keyCode==KeyEvent.keyCode_菜单){
//在这里做你的菜单
打开选项菜单();
返回true;
}
其他的
返回super.onKeyDown(keyCode,event);
}
@凌驾
创建时的公共void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
//每个微调器的起始值
cur1Sel=“距离”;
cur2Sel=“英寸”;
cur3Sel=“毫米”;
//启动输入和输出VAL
inputValue=“”;
outputValue=“”;
//从上面看我的康斯塔斯。。。
点=98;
清除=99;
face=Typeface.createFromAsset(getAssets(),“helv_bold.ttf”);
格式=新的十进制格式(“#.###”);
//抓住他们应用程序会让你变得更强大。
res=getResources();
//构建用于显示目的的ouor阵列
measure\u array=res.getStringArray(R.array.measure\u array);
输入数组=res.getStringArray(R.array.distance数组);
输出数组=res.getStringArray(R.array.dist\u inches\u数组);
//init measure缩写数组,否则我们会在第一轮得到空指针。。。。
measure_abbrevs=新字符串[1];
度量值_abbrevs[0]=“无”;
//构建缩写resrouces
input_abbrevs=res.getStringArray(R.array.dist_abbrev_数组);
output_abbrevs=res.getStringArray(R.array.dist_inches_abbrev_数组);
//每个微调器的网络视图
measure\u微调器=(WebView)this.findviewbyd(R.id.measure\u视图);
input_微调器=(WebView)this.findViewById(R.id.input_视图);
output\u微调器=(WebView)this.findviewbyd(R.id.output\u视图);
//这让每个人都知道我们从哪里开始。。。。
curMeasure=“距离”;
//测量旋转器
measure_spinner.getSettings().setJavaScriptEnabled(true);
measure_spinner.addJavascriptInterface(新的AndroidSpinnerBridge(),“android”);
测量微调器。设置垂直滚动可启用(假);
//measure_spinner.getSettings().setUseWideViewPort(false);
//输入微调器
input_spinner.getSettings().setJavaScriptEnabled(true);
input_spinner.addJavascriptInterface(新的AndroidSpinnerBridge(),“android”);
input_spinner.setVerticalScrollBarEnabled(假);
//input_spinner.loadUrl(“javascript:SpinningWheel.setId({2});”);
//输出微调器
输出_spinner.getSettings().setJavaScriptEnabled(true);
output_spinner.addJavascriptInterface(新的AndroidSpinnerBridge(),“android”);
输出微调器。setVerticalScrollBarEnabled(假);
//纽扣!weeee!纽扣!!
//重要提示..请等待WEBVIEW准备好<否则渲染可能会失败。然后加载。
输入\u微调器。加载URL(“file:///android_asset/index_sp2.html");
measure_spinner.loadUrl(“file:///android_asset/index_sp1.html");
输出\u微调器。加载URL(“file:///android_asset/index_sp3.html");
measure_spinner.loadUrl(“javascript:SpinningWheel.fixTheFuckingError();”;
};