java - Android : Package has already posted 50 toasts. 不显示更多。

标签 java android android-fragments android-activity toast

我正在开发一个应用程序,我在其中使用默认的 android Toast,使用一段时间后出现如下错误:

Package has already posted 50 toasts. Not showing more. Package=com.synapsica

这是我的一些工作代码:

 @Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
                         Bundle savedInstanceState) {
    // Inflate the layout for this fragment
    View view = inflater.inflate(R.layout.fragment_opdregistration, container, false);
    ButterKnife.bind(this, view);
    stopProgressBar(progressBar);
    if(mainActivity!=null){
        sharedPreferences = mainActivity.getSharedPreferences(Constants.REGISTRATION_SCREEN_SEARCH, Context.MODE_PRIVATE);
    }


    enterAadharnNumber.setOnEditorActionListener(new TextView.OnEditorActionListener() {
        @Override
        public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
            if(actionId== EditorInfo.IME_ACTION_DONE){
                mainActivity.hideSoftKeyboard(enterAadharnNumber);
                if(!enterAadharnNumber.getText().toString().isEmpty()){
                    if(enterAadharnNumber.getText().toString().length() == 10 || enterAadharnNumber.getText().toString().length() == 12){
                        progressBar.setVisibility(View.VISIBLE);
                        if(!enterAadharnNumber.getText().toString().isEmpty()){
                            if(enterAadharnNumber.getText().toString().length()==10){
                                Presenter.getInstance().addModel(Constants.SEARCH_PHONE_NUMBER, enterAadharnNumber.getText().toString());
                            }
                        }
                        patientRegistrationActivity.searchPatient(enterAadharnNumber.getText().toString(), "OPD", "search", progressBar);
                    } else{
                        Toast.makeText(patientRegistrationActivity, "Enter valid phoneNumber or aadhar Number", Toast.LENGTH_SHORT).show();
                    }
                } else{
                    Toast.makeText(patientRegistrationActivity, "Enter valid phoneNumber or aadhar Number", Toast.LENGTH_SHORT).show();
                }
            }
            return false;
        }
    });

    return view;
}

最佳答案

好像是系统限制,看一下:

https://android.googlesource.com/platform/frameworks/base/+/f76a50c/services/java/com/android/server/NotificationManagerService.java#477

我建议您使用应用内通知(例如 SnackBar)来显示您的消息。

关于java - Android : Package has already posted 50 toasts. 不显示更多。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48805939/

相关文章:

android - Android Fragment 中的按钮出现 NullPointerException onClick

php - 如何在Android中以较少的数据使用量从服务器获取消息?

android - 在 fragment 中单击按钮时强制关闭

java - 如何在数字集之间制作 Java Rand() 输出

java - 如何在 Java 中卸载已经加载的类?

java - 为 Java 中的每个小功能创建一个方法是否会降低性能?

android - 将深层链接添加到日历描述

java - 在抽屉导航 fragment 之间切换很慢

Java 基本运算符返回类型

java - JTDS (Java/MSSQL) - 找不到存储过程