簡體   English   中英

輸入后我的按鈕將無法激活,我不知道為什么

[英]My button won't activate after typing in, I can't figure out why

打開應用程序后,在頂部框中鍵入字母后,應該激活我的按鈕。 出於某種原因,在我輸入一個字母后,它執行相反的操作,不允許我添加,但是一旦我從框中刪除了任何內容,它便允許我添加它。

我嘗試調試,但沒有收到任何錯誤。 我是否缺少一些代碼?

    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) {

        }
    });

當文本為空時,您將啟用按鈕。 您需要更改此行

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

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

這個。

您可以在字段上使用KeyReleased事件,並添加一個條件,當!yourField.getText().equals("")啟用按鈕時,該按鈕將被禁用。

在onTextChanged()中嘗試一下

if(gameTxt.getText()!=null&&!gameTxt.getText().isEmpty()){
  addBtn.setEnabled(true);
}

暫無
暫無

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

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