Приложение пропускает 44 кадра * Возможно, выполняется слишком много работы * Ошибка - PullRequest
0 голосов
/ 21 декабря 2018

Когда я запускаю код в Android Studio, я вижу в Logcat надпись «Пропущено 44 кадра! Приложение может выполнять слишком много работы в своем основном потоке».У меня мало кода работает в основном потоке?Пожалуйста, помогите мне, где я пропускаю?заранее спасибо.Код ошибки ниже

12-21 19: 59: 26,635 6962-6962 /?Я / Хореограф: пропущено 44 кадра!Приложение может выполнять слишком много работы в своем основном потоке

public class AdminLogin extends AppCompatActivity implements View.OnTouchListener, View.OnClickListener, TextView.OnEditorActionListener {

private ImageView imageView;
private TextInputLayout textViewCode,textViewUser;
private EditText editTextCode,editTextUser;
private CardView cardView;
private InputMethodManager in;
private ConstraintLayout constraintLayout;
private Button loginButton;
private SharedPreferences.Editor editor;
private CheckBox rememberMe;
Drawable errorIcon;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_admin_login);
    getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN);
    constraintLayout = findViewById(R.id.outerConstraint);
    cardView = findViewById(R.id.card_view);
    imageView = findViewById(R.id.imageView);
    textViewCode = findViewById(R.id.textViewCode);
    textViewUser = findViewById(R.id.textViewUser);
    editTextCode = findViewById(R.id.editTextCode);
    editTextUser = findViewById(R.id.editTextUser);
    loginButton = findViewById(R.id.loginButton);
    rememberMe = findViewById(R.id.rememberMe);
    in = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
    errorIcon = getResources().getDrawable(R.drawable.attention);
    errorIcon.setBounds(new Rect(0, 0, errorIcon.getIntrinsicWidth(), errorIcon.getIntrinsicHeight()));
    action();
}

private void action(){
    constraintLayout.setOnTouchListener(this);
    cardView.setOnTouchListener(this);
    imageView.setOnClickListener(this);
    editTextCode.addTextChangedListener(new TextWatcher() {
        @Override
        public void beforeTextChanged(CharSequence s, int start, int count, int after) {
        }

        @Override
        public void onTextChanged(CharSequence s, int start, int before, int count) {
            textViewCode.setErrorEnabled(false);

        }

        @Override
        public void afterTextChanged(Editable s) {
            if(s.length() == 0){
                //textViewCode.setError(" ");
                textViewCode.getEditText().setError(" ",errorIcon);
            }else if(s.toString().trim().equals("dev")){
                textViewCode.setErrorEnabled(false);
            }else if(TextUtils.isEmpty(s.toString().trim())){
                textViewCode.setError(" ");
            }else{
                textViewCode.setError(" ");
            }
        }
    });
    editTextUser.addTextChangedListener(new TextWatcher() {
        @Override
        public void beforeTextChanged(CharSequence s, int start, int count, int after) {

        }

        @Override
        public void onTextChanged(CharSequence s, int start, int before, int count) {
                textViewUser.setErrorEnabled(false);
        }

        @Override
        public void afterTextChanged(Editable s) {
            if(s.length() == 0){
                textViewUser.getEditText().setError(" ",errorIcon);
            }else if(s.toString().trim().equals("dummy")){
                textViewUser.setErrorEnabled(false);
            }else if(TextUtils.isEmpty(s.toString().trim())){
                textViewUser.setError(" ");
            }else{
                textViewUser.setError(" ");
            }
        }
    });
    editTextUser.setOnEditorActionListener(this);
    loginButton.setOnClickListener(this);

}

private void checkForm(){
    if(editTextUser.getText().toString().trim().equals("dummy") && editTextCode.getText().toString().trim().equals("dev")){
        if(rememberMe.isChecked()){
            editor = getSharedPreferences("logindetail",MODE_PRIVATE).edit();
            editor.putString("username",editTextUser.getText().toString());
            editor.putString("code",editTextCode.getText().toString());
            editor.apply();
        }
        startActivity(new Intent(AdminLogin.this,Password.class));
    }else if(TextUtils.isEmpty(editTextUser.getText().toString().trim())){
        textViewUser.getEditText().setError(" ",errorIcon);
    }
}

@Override
public boolean onTouch(View v, MotionEvent event) {
    if(v.getId()==R.id.outerConstraint || v.getId()==R.id.card_view){
        in.hideSoftInputFromWindow(v.getWindowToken(), InputMethodManager.HIDE_NOT_ALWAYS);
        return true;
    }
    return false;
}

@Override
public void onClick(View v) {
    switch (v.getId()){
        case R.id.loginButton:
            checkForm();
            break;
        case R.id.imageView:
            finish();
            break;
    }
}

@Override
public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
    if(actionId == EditorInfo.IME_ACTION_DONE){
        loginButton.performClick();
        return true;
    }
    return false;
}

@Override
protected void onResume() {
    super.onResume();
    SharedPreferences preferences = getSharedPreferences("logindetail",MODE_PRIVATE);
        editTextCode.setText(preferences.getString("code",""));
        editTextUser.setText(preferences.getString("username",""));
}
}
...