хотите использовать одну кнопку в качестве возврата для 2 отдельных Edittext?

В дополнение к дополнению LinqPad My ExtensionsKing LinqPad My Extensions:

public static IQueryable DumpNoLock(this IQueryable query)
{
    using (var txn = GetNewReadUncommittedScope())
    {
        return query.Dump();
    }   
}

public static System.Transactions.TransactionScope GetNewReadUncommittedScope()
{
    return new System.Transactions.TransactionScope(
        System.Transactions.TransactionScopeOption.RequiresNew,
        new System.Transactions.TransactionOptions
        {
            IsolationLevel = System.Transactions.IsolationLevel.ReadUncommitted
        });
}
public static IQueryable DumpNoLock(this IQueryable query, string description)
{
    using (var txn = GetNewReadUncommittedScope())
    {
        return query.Dump(description);
    }   
}

public static List ToListNoLock(this IQueryable query)
{
    using (var txn = GetNewReadUncommittedScope())
    {
        return query.ToList();
    }   
}

public static U NoLock(this IQueryable query, Func,U> expr)
{
    using (var txn = GetNewReadUncommittedScope())
    {
        return expr(query);
    }   
}

Последнее означает, что вы можете сделать NOLOCK для любых оценочных запросов, у которых у вас нет NoLock явно написано для (например, я получил для ToListNoLock выше). Итак, например:

somequery.NoLock((x)=>x.Count()).Dump();

будет оценивать запрос с помощью NOLOCK.

Обратите внимание, что вы должны убедиться, что вы оцениваете запрос. Например. .NoLock((x)=>x.Distinct()).Count().Dump() ничего полезного ничего не сделает .Distinct().Count().Dump().

0
задан Dhanshri 18 January 2019 в 06:32
поделиться

1 ответ

Проблема в вашем коде в том, что вы устанавливаете OnClickListener на одну и ту же кнопку два раза. Второй OnClickListener перезапишет первый. Поэтому нам нужно сделать это в одном OnClickListener. Пожалуйста, попробуйте ниже код

 bak.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            EditText focusEditText=et1;
            if (et1.hasFocus()) {
                focusEditText=et1;
            }
            if (et2.hasFocus()){
                focusEditText=et2;
            }
            String str = focusEditText.getText().toString();
            if (str.length() > 1) {
                str = str.substring(0, str.length() - 1);
                focusEditText.setText(str);
            } else if (str.length() <= 1) {
                focusEditText.setText("");
            }
        }

    });
0
ответ дан Manish 18 January 2019 в 06:32
поделиться
Другие вопросы по тегам:

Похожие вопросы: