键入编辑文本时删除焦点

时间:2011-10-04 14:08:34

标签: android focus android-edittext

我有EditText

serialText = (EditText) findViewById(R.id.pinText);

现在点击某些按钮,我应该专注于编辑文字来写东西。但是,当我点击编辑文本内部进行编写时,焦点将被删除,即,无论我输入的内容是否都没有出现在编辑文本中

这是执行此操作的代码,

public void method(View v) {


arrowButton.setOnClickListener(new OnClickListener() {


@Override

public void onClick(View v) {

    serialNumber = serialText.getText().toString();

        if (serialNumber.equals("")) {
     } else {


}


} }...

如果我没有输入任何东西,那么循环没有任何问题,但是其他部分没有发生同样的事情。

你能帮帮我吗?

这是我的完整代码

public void onClick(View v) {

    if (v.getId() == R.id.pinBtn) {

        arrowButton = (Button) findViewById(R.id.arrowBtn);

        serialText = (EditText) findViewById(R.id.pinText);
        serialText.setVisibility(View.VISIBLE);
        arrowButton.setVisibility(View.VISIBLE);
        //serialNumber = serialText.getText().toString();
        arrowButton.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                serialNumber = serialText.getText().toString();
                if (serialNumber.equals("")) {
                    Toast.makeText(getApplicationContext(),
                            "Please enter the serial number",
                            Toast.LENGTH_SHORT).show();
                }
                else {

                    isRegularSerialNumber(serialNumber);

                    String encodedserialNumber = Base64.encodeToString(
                            serialNumber.getBytes(), Base64.DEFAULT);

                    receiveSerialData(encodedserialNumber);

                    if (serialResponse.equals("Validated Successfully!")) {
                        showAudio(v);
                    } else {
                        Toast.makeText(getApplicationContext(),
                                "Invalid Serial Number", Toast.LENGTH_SHORT)
                                .show();
                    }
                }
            }
        });
    }
}

由于

3 个答案:

答案 0 :(得分:2)

我最终解决了问题,问题是当我们在listview中保留编辑文本时,当尝试在其中写入时,键盘会推送listview。所以我们需要将属性android:windowSoftInputMode =“adjustPan”添加到listview或清单文件中包含列表视图的活动。

答案 1 :(得分:0)

请尝试将其替换为:

,而不是使用serialNumber.equals("")
serialNumber.length() == 0     

serialNumber.matches("")

答案 2 :(得分:0)

您发布的代码为onClick() arrowButton,您应发布onClick()的{​​{1}}