簡體   English   中英

從HTML調用Android方法總是指向“其他”

[英]Call Android method from HTML always directs to “else”

始終顯示“ else”語句。 我不知道這是錯的。 請幫忙。

Android代碼:

public void setResult(final int val,final String cat){
        if(cat=="home")
        {
            counter=0;
        }
        else if(cat=="featured")
        {
            counter=1;
        }
        else if(cat=="editorial")
        {
            counter=2;
        }
        else if(cat=="gallery")
        {
            counter=3;
        }
        else
        {
            Toast.makeText(parentActivity, "Invalid category: " + cat + "\n" + "cat.toString() is: " + cat.toString(), 5).show();
        }
        Toast.makeText(this.parentActivity, "Callback got val: " + val + "\n Category is: " + cat, 5).show();
    }

HTML代碼(在script標記內):

function onload()
{
    window.MyHandler.setResult(2,"featured");
}

輸出是:

Invalid category: featured
cat.toString() is: featured
Callback got val: 2
Category is: featured

您需要使用equals()方法代替==

例如

cat.equals("featured");

您不能像這樣比較字符串:

if(cat=="home"){...}

您必須使用equals()方法:

 if(cat.equals("home")){...}

像這樣改變

if(cat.equals("home"))
    {
        counter=0;
    }........

比較字符串時請嘗試

if (cat.equals("home")) {
    counter = 0;
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM