0

我创建了我的Android应用程序,因为它在将选择输入选项更改为on时播放声音。我已经创建了在html中调用 android 方法的接口。我的代码做得很好,但是当我将选项值更改为on它不起作用。

播放声音方法:

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 >

4

3 回答 3

0

尝试这个:

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

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

Howto call Android method from JS 看看这个链接:

从 JS 调用 Android 方法

于 2013-06-24T09:56:00.430 回答
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);
 } 
于 2013-06-24T10:02:05.863 回答
0
if (value.equals("on"))
{
   //Your code
}
于 2013-06-24T10:04:49.547 回答