Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/222.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 在PreferenceScreen中显示crouton_Android_Crouton - Fatal编程技术网

Android 在PreferenceScreen中显示crouton

Android 在PreferenceScreen中显示crouton,android,crouton,Android,Crouton,我正在使用Crouton库向用户显示警告消息。在这个场景中,我希望在特定的首选项屏幕中显示。我在我的PreferenceActivity 但是,Crouton仅显示在第一个首选项屏幕上,而不显示在实际触发Crouton的儿童首选项屏幕上。有什么办法解决这个问题吗 findPreference(key.key).setOnPreferenceChangeListener(new OnPreferenceChangeListener() { @

我正在使用Crouton库向用户显示警告消息。在这个场景中,我希望在特定的首选项屏幕中显示。我在我的
PreferenceActivity

但是,Crouton仅显示在第一个首选项屏幕上,而不显示在实际触发Crouton的儿童首选项屏幕上。有什么办法解决这个问题吗

       findPreference(key.key).setOnPreferenceChangeListener(new OnPreferenceChangeListener()
        {

            @Override
            public boolean onPreferenceChange(Preference preference, Object newValue)
            {
                int count = 0;
                for (ANALYTICS_KEYS key : ANALYTICS_KEYS.values())
                {
                    if (appPreferences.getAnalyticProperty(key))
                    {
                        count++;

                    }
                }

                Crouton crouton = null;
                if (count > 5 && count < 7)
                {
                    Style.Builder style = new Builder(Style.INFO).setConfiguration(new Configuration.Builder().setDuration(Configuration.DURATION_INFINITE).build());

                    crouton = Crouton.makeText(DashAnalyticsPreferenceActivity.this, "More than 5 attributes might not be visible", style.build());

                }
                else if (count > 7)
                {
                    crouton = Crouton.makeText(DashAnalyticsPreferenceActivity.this, "More than 7 attributes are not allowed. Only first 7 will be considered", Style.ALERT);
                }
                else
                    Crouton.cancelAllCroutons();

                if (crouton != null)
                {
                    crouton.show();
                    crouton.setOnClickListener(new View.OnClickListener()
                    {
                        @Override
                        public void onClick(View v)
                        {

                            //Crouton.hide(crouton);
                        }
                    });
                }

                return true;
            }
findReference(key.key).setOnPreferenceChangeListener(新的OnPreferenceChangeListener())
{
@凌驾
公共布尔onPreferenceChange(首选项首选项,对象newValue)
{
整数计数=0;
对于(ANALYTICS_KEYS key:ANALYTICS_KEYS.values())
{
if(appPreferences.getAnalyticProperty(键))
{
计数++;
}
}
Crouton-Crouton=null;
如果(计数>5&&计数<7)
{
Style.Builder Style=new Builder(Style.INFO).setConfiguration(new Configuration.Builder().setDuration(Configuration.DURATION_INFINITE.build());
crouton=crouton.makeText(DashAnalyticsPreferenceActivity.this,“超过5个属性可能不可见”,style.build());
}
否则,如果(计数>7)
{
crouton=crouton.makeText(DashAnalyticsPreferenceActivity.this,“不允许超过7个属性。只考虑前7个属性”,Style.ALERT);
}
其他的
克劳顿。取消所有克劳顿();
如果(克劳顿!=null)
{
克劳顿;
setOnClickListener(新视图.OnClickListener()
{
@凌驾
公共void onClick(视图v)
{
//克劳顿。隐藏(克劳顿);
}
});
}
返回true;
}

克劳顿
将附加到Activites视图。因此,它将仅显示在传递给创建它的
活动中

如果要在另一个
活动中显示
克劳顿
,则必须将相应的
活动
传递给它