2017-07-26 35 views
1

我從使用JavascriptInterface的webview中獲取價值。我收到的價值沒問題。
但是當我做一個「等於」檢查的價值,它不起作用?
這是我的java代碼。無法使用Android webview的結果進行操作?

@JavascriptInterface 
public void check(String p) { 
    if(p == "apple"){ 
    Toast.makeText(mContext, p, Toast.LENGTH_SHORT).show(); 
} 
} 

這是javascript代碼。

<script type="text/javascript"> 
var p = "apple"; 
function check(p){ 
Android.check(p); 
} 
check(p); 
</script> 

回答

1

你需要

if(p == "apple"){ 

這個

if(p.equals("apple"){ 

更多信息由於改變拉法爾Zajfert Here

整個代碼應該是這樣的:

@JavascriptInterface 
public void check(String p) { 
    if(p.equals("apple")){ 
     Toast.makeText(mContext, p, Toast.LENGTH_SHORT).show(); 
    } 
} 
+0

更多信息:https://stackoverflow.com/a/36424446/4252751 –

+0

做什麼呢? – paulcab

+0

@paulcab檢查我的編輯,只是改變裏面你的如果陳述 – Derek

0

比較使用.equals您的字符串()方法:

if(p.equals("apple")){ 
    Toast.makeText(mContext, p, Toast.LENGTH_SHORT).show(); 
}