选定的输入不适用于Android

时间:2013-06-24 09:44:08

标签: android eclipse html5

我创建了 Android 应用,因为它在将选择输入选项更改为 时播放声音。我创建了我的界面来调用 html 中的android方法。我很好地完成了我的代码,但当我将选项值更改为 时,它不起作用。

播放声音方法:

public void playsound(String value ) {
    if (value == "on") {
    mp= MediaPlayer.create(mContext,R.raw.sound);

    /* mp.prepare();*/
    mp.start();
    }
}

<form >       
      <select name="flip-1" id="flip-1" data-role="slider" >
      <option value="off">Off</option>
      <option value="on" onclick="playmp3('on')">On</option>
      </select>

 <script type="text/javascript">
       function playmp3(var value) {
       Android.playsound(value);
       }  
</script>

</form >

3 个答案:

答案 0 :(得分:0)

试试这个:

if (value.equals("on")) {
mp= MediaPlayer.create(mContext,R.raw.sound);

/* mp.prepare();*/
mp.start();
}

如何从JS调用Android方法看一下这个链接:

Call Android method from JS

答案 1 :(得分:0)

我认为您应该使用onchange元素中的select事件而不是onclick元素中的option事件。

<select name="flip-1" id="flip-1" data-role="slider" onchange="f1()">
      <option value="off">Off</option>
      <option value="on" onclick="playmp3('on')">On</option>
</select>

<script type="text/javascript">
    function f1(){
      var myselect = document.getElementById("flip-1");
      playmp3(myselect.options[myselect.selectedIndex].value);
    }
</script>

此外,您的javascript方法出错,var关键字不是必需的:

 function playmp3(value) {
       Android.playsound(value);
 } 

答案 2 :(得分:0)

if (value.equals("on"))
{
   //Your code
}