【问题标题】:Make button viewable only when certain text appears on the internet仅当某些文本出现在 Internet 上时才使按钮可见
【发布时间】:2013-09-13 03:57:54
【问题描述】:

我想让一个按钮(比如 Button1)只有在互联网上出现特定事物时才可查看和使用。例如,如果“A”出现在我在代码中提到的页面上的互联网上,则应该出现带有文本“投票给 A”的按钮“button1”,而其他按钮(例如,Button2 和 Button3)应该消失。

我如何为此编写代码?

【问题讨论】:

    标签: android button webview


    【解决方案1】:

    也许这会对你有所帮助:

    //x is a string
    
    if(x == "test"){
    
    Button2.setVisibility(false);
    Button2.setClickable(false);
    Button3.setVisibility(false);
    Button3.setClickable(false);
    
    }
    
    else{
    
    //Do something else
    
    }
    

    要加载一些东西,你可以在这里查看

    Load URL

    或者这里:

    Load URL2

    【讨论】:

    • 不要使用 == 运算符来比较字符串,而是使用 String.equals(String someString) 函数。
    • 并且总是以常量开头:"test".equals(unknownValue),这样你就不必测试字符串是否为空(如果 unknownValue 为空,那么 unknownValue.equals(" test") 将导致 NullPointerException)
    【解决方案2】:

    我假设您正在从远程服务器加载 HTML 页面,并根据显示给用户的内容采取行动。

    您应该阅读页面的文字并搜索您的文字。如果它足够具体,它只会出现在正确的上下文中:“投票给 A”可能不会成为任何脚本、样式或评论的一部分。如果你的文本是“宽度”,那么你会遇到很大的麻烦:你必须创建一个解析器来运行页面的 DOM,并且只在标签的 html 内容中搜索。

    要加载 URL,您可以找到一个示例 here。这将为您提供输入流。您应该阅读流的内容,并使用滑动窗口匹配没有空格的字符串。你可以弄清楚这一点,或者看看this optimised solution

    之后您只需使用 View.setVisibility(View.VISIBLE) 或 View.setVisibility(View.GONE) 设置视图的可见性属性;

    【讨论】:

      【解决方案3】:

      您可以根据您的条件将按钮的可见性设置为 View.VISIBLE 或 View.Gone。我希望能做到这一点,假设这是你想要的。

      【讨论】:

        猜你喜欢
        • 2011-03-26
        • 2010-12-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-11-20
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多