Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/188.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 我的按钮赢了';输入后无法激活,我可以';我不明白为什么_Java_Android_Android Studio_Onclicklistener - Fatal编程技术网

Java 我的按钮赢了';输入后无法激活,我可以';我不明白为什么

Java 我的按钮赢了';输入后无法激活,我可以';我不明白为什么,java,android,android-studio,onclicklistener,Java,Android,Android Studio,Onclicklistener,在我打开我的申请表后,一旦一封信被输入到顶部的框中,我的按钮就会被激活。出于某种原因,在我输入一个字母后,它的作用正好相反,它不允许我添加,但一旦我从框中删除任何内容,它就允许我添加它 我尝试过调试,但没有收到任何错误。我丢失了一些代码吗 final Button addBtn = (Button) findViewById(R.id.btnAdd); addBtn.setOnClickListener(new View.OnClickListener() { @

在我打开我的申请表后,一旦一封信被输入到顶部的框中,我的按钮就会被激活。出于某种原因,在我输入一个字母后,它的作用正好相反,它不允许我添加,但一旦我从框中删除任何内容,它就允许我添加它

我尝试过调试,但没有收到任何错误。我丢失了一些代码吗

    final Button addBtn = (Button) findViewById(R.id.btnAdd);
    addBtn.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {

            TopGame topGame = new TopGame(dbHandler.getTopGameCount(), String.valueOf(gameTxt.getText()), String.valueOf(platformTxt.getText()), String.valueOf(releaseTxt.getText()), String.valueOf(priorityTxt.getText()));
            dbHandler.createGame(topGame);
            TopGames.add(topGame);
            Toast.makeText(getApplicationContext(),String.valueOf(gameTxt.getText()) + " has been added to your List!", Toast.LENGTH_SHORT).show();


        }
    });

    gameTxt.addTextChangedListener(new TextWatcher() {
        @Override
        public void beforeTextChanged(CharSequence charSequence, int i, int i2, int i3) {

        }

        @TargetApi(Build.VERSION_CODES.GINGERBREAD)
        @Override
        public void onTextChanged(CharSequence charSequence, int i, int i2, int i3) {
            addBtn.setEnabled(String.valueOf(gameTxt.getText()).trim().isEmpty());

        }

        @Override
        public void afterTextChanged(Editable editable) {

        }
    });

您可以在该字段上使用KeyReleased事件,并添加一个条件,使按钮在<代码>!yourField.getText().equals(“”)否则它将被禁用。

在onTextChanged()内尝试此操作


当文本为空时,您正在启用该按钮。你需要换一行

        addBtn.setEnabled(String.valueOf(gameTxt.getText()).trim().isEmpty());


这一点。

很有效,一个小小的角色竟然能改变整个事情,真是不可思议。非常感谢。
        addBtn.setEnabled(String.valueOf(gameTxt.getText()).trim().isEmpty());
        addBtn.setEnabled(!String.valueOf(gameTxt.getText()).trim().isEmpty());