如何在(5'11)等编辑文字中增加人物身高

时间:2019-02-01 11:36:48

标签: android

我正在describe('Qlik Dashboard Test', function () { it('Primary Filter Testing', async function () { // await browser.waitForAngularEnabled(false); var url = 'https://sense-demo.qlik.com/sso/sense/app/dcb7c95a-9ecd-43e2-8786-cae00108a324/sheet/54b60312-68c5-4d92-a225-79326b68ad5a/state/analysis'; var EC = protractor.ExpectedConditions; // Reference to all filters var filters = element.all(by.css('.title-wrapper')); // Reference to backbutton var bb = element.all(by.className('lui-clear-all lui-icon lui-icon--remove')); // Go to website await browser.get(url); await browser.driver.sleep(15000); // Wait for all filters to be visible let numFilter = await filters.count(); console.log(numFilter); for (let i = 0; i < numFilter; i++) { await filters.get(i).click(); // Reference to first option in each filter // let first_opt = element(by.repeater('textItem in item.textItems')).row(1); // await browser.wait(EC.visibilityOf(first_opt, 15000)); // await first_opt.click(); await browser.driver.sleep(5000); } } } 上工作,我必须在EdituserProfileActivity中输入用户的身高,例如(5'6)(5'11)(feet'inch。)等。现在,当我输入EditText中的第一个字符,单撇号EditText会自动添加到'的第二个位置的(onTextChanged)上。

问题是,当我尝试擦除字符时,它不会在第一个位置之后擦除,因为当EditText的长度为1时,它将在第二个位置添加一个EditText

我该如何解决?请与我分享任何解决方案。

对不起,我英语不好

'

1 个答案:

答案 0 :(得分:0)

我相信您正在寻找这样的支票:

if (before == 1 && s.length() == start) {
    return; // allows delete
}

这将允许您在操作中执行传递。因此您的代码将如下所示:

    public void onTextChanged(CharSequence s, int start, int before, int count) {

        String height = edtUserHeight.getText().toString();

        if(height.length() == 1) {
             edtUserHeight.setText(height + "'");
        }

        if (before == 1 && s.length() == start) {
            return; // allows delete
        }else{
            edtUserHeight.setSelection(height.length());
        }
    }

有关before和start参数含义的更多信息,请查看this答案。