2014-05-11 23 views
0

打開我的應用程序後,一旦一個字母輸入到頂部框中,我的按鈕應該激活。出於某種原因,在我輸入一個字母后它會做相反的事情,它不允許我添加,但是一旦我從盒子中刪除任何東西,它就允許我添加它。我的按鈕在輸入後不會激活,我找不到爲什麼

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

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

     } 
    }); 

回答

0

,你可以在球場上使用的keyReleased事件,並添加使按鈕時!yourField.getText().equals("")否則它就會被禁用的條件。

0

試試這個裏面onTextChanged()

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

您將啓用按鈕文本爲空。你需要這條線

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

改變

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

這一點。

+0

這很有效,令人驚訝的是一個小角色可以如何改變整個事物。謝謝。 – user3559832

相關問題