![](/img/trans.png)
[英]When i try to run my program, the GUI won't load and I can't figure out why
[英]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.