2013-12-04 3 views
0

Я использую библиотеку Crouton для отображения предупреждающих сообщений пользователю. В этом случае я хочу отобразить на определенном экране предпочтений. Я написал следующий код в своем PreferenceActivityДисплей crouton in PreferenceScreen

Однако, 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; 
      } 

ответ

1

Crouton прилагается к представлению Activites. Таким образом, он будет отображаться только в Activity, который был передан для его создания.

Если вы хотите отобразить Crouton в другом Activity, вам необходимо будет передать соответствующий ему Activity.

Смежные вопросы