Android:EditText返回与内容相同的值

时间:2014-01-19 13:11:26

标签: java android sql database android-edittext

下面的方法负责将新记录插入数据库表,并在按下button时调用它。但是,只要输入新值,就不会将分配了EditText内容值的S​​tring输入分配给新内容。

因此,插入新记录只能工作一次。

任何有关为何发生这种情况的建议都将受到赞赏。

public void insertRecord(View additionBut) {
        System.out.println("NOW INSIDE THE INSERT RECORD");
        input = addTextInput.getText().toString();
        addTextInput.getText().clear();
        System.out.println(input);
        if (purpose.equals("ViewNovel")) {
            md.addPiece(input, "0");
        } else if (purpose.equals("ViewPlay")) {
            md.addPiece(input, "1");
        } else {
            // whatever else
        }

        displayList();
    }

2 个答案:

答案 0 :(得分:1)

您也可以通过其他方式清除EditText,请尝试以下方式

public void insertRecord(View additionBut) {
        System.out.println("NOW INSIDE THE INSERT RECORD");
        input = addTextInput.getText().toString();
        addTextInput.setText("")                              // Change here
        System.out.println(input);
        if (purpose.equals("ViewNovel")) {
            md.addPiece(input, "0");
        } else if (purpose.equals("ViewPlay")) {
            md.addPiece(input, "1");
        } else {
            // whatever else
        }

        displayList();
    }

答案 1 :(得分:0)

放置

displayList();
addTextInput.getText().clear(); //after displayList();

可能是参考相同。因此,当您尝试清除编辑文本时,输入中的值会被反映出来。如果是这样,请尝试使用编辑文本框中的值创建新的String对象。