当前位置: 首页 > 知识库问答 >
问题:

如何在运行时更改可提取资源?[副本]

钱青青
2023-03-14
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    btn = (Button)findViewById(R.id.button);
    edt1 = (EditText)findViewById(R.id.name);
    edt2 = (EditText)findViewById(R.id.password);
    str_name = edt1.getText().toString() ;
    str_password = edt2.getText().toString();

    if (str_name == 0 && str_password == 0) {
        btn.setBackgroundResource(R.drawable.image);
    }
    else {
        btn.setBackgroundResource(R.drawable.on_button_click);
    }

问题是它应用了if条件,但当我在edittext中输入一些文本时,资源文件不会改变。

EditText位于TextInputLayout下。

共有1个答案

丁雅惠
2023-03-14

>

  • 使用textutils.equals判断str_name是否等于0

    使用textutils.equals判断str_password是否等于0

    试试这个。

    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        btn = (Button) findViewById(R.id.button);
        edt1 = (EditText) findViewById(R.id.name);
        edt2 = (EditText) findViewById(R.id.password);
        str_name = edt1.getText().toString();
        str_password = edt2.getText().toString();
    
        // edited here
        if (TextUtils.equals(str_name, "0") && TextUtils.equals(str_password, "0")) {
            btn.setBackgroundResource(R.drawable.image);
        } else {
            btn.setBackgroundResource(R.drawable.on_button_click);
        }
    }
    
    if (Double.parseDouble(str_name) == 0 && Double.parseDouble(str_password) == 0) {
        btn.setBackgroundResource(R.drawable.image);
    } else {
        btn.setBackgroundResource(R.drawable.on_button_click);
    }
    

  •  类似资料:
    • 问题内容: 我知道我可以在使用带有CPU和内存的and 标志的docker进行配置时限制分配给容器的资源。 但是,有没有一种方法可以动态地(在配置完之后)将这些分配的资源更改为容器,而无需使用更改后的资源重新部署同一容器? 问题答案: 目前不行-希望有人可以实现它:https : //github.com/docker/docker/issues/6323

    • 我已经使用SLF4j作为日志框架,由log4j支持。我的问题是,我正在寻找一种在运行时更改记录器日志记录级别的方法。 我知道slf4j不允许通过自己的API直接进行此操作,因此,我必须直接访问日志提供程序。就个人而言,我发现这是slf4j中的一个巨大缺陷。所以现在我的问题是,如何通过slf4j以编程方式确定我使用的是哪种提供者?使用slf4j的最大目的是让您变得与提供商无关-您可以轻松地在您喜欢的

    • 如何在运行时更改application.yaml的值?例如,我有一个服务器地址属性,希望在运行时更改

    • res\drawable\mylayerlistdrawable.xml ----------------------------------------------------------------------------------- 最终答案 在api 21之前的xml可提取资源中,我们不能使用?attr。由aapt在编译时创建的可提取资源。运行时用于动态连接的Attr资源。 解决方案是为

    • 问题内容: 我有一个Android应用程序,当用户点击时,我想应用定义的样式。 我以为找到一个,但它不存在。我试过了 但它不起作用。 问题答案: 我通过创建一个新的XML文件来做到这一点,如下所示: 我的文件中也有一个条目,如下所示: 然后,在我的代码中,我创建了一个来捕获该上的tap事件: 编辑: 自API 23起,不建议使用 要改回它,你可以使用以下命令: