У Хмна сегодня была такая же проблема.
Мое альтернативное решение - просто разрешить отображать больше текста в сводке.
Просто создайте свой собственный подкласс CheckBoxPreference, который будет выглядеть примерно так:
public class CheckBoxPreferenceWithLongSummary extends CheckBoxPreference{
public CheckBoxPreferenceWithLongSummary(Context context) {
super(context);
}
public CheckBoxPreferenceWithLongSummary(Context context, AttributeSet attrs) {
super(context, attrs);
}
public CheckBoxPreferenceWithLongSummary(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
}
@Override
protected void onBindView(View view) {
super.onBindView(view);
TextView summaryView = (TextView) view.findViewById(android.R.id.summary);
summaryView.setMaxLines(10);
}
}
Затем в вашем PreferenceScreen (я предполагаю, что вы используете xml для настройки макета предпочтений - не уверен, если это вообще возможно программно), просто замените старый <CheckBoxPreference.../>
на новую реализацию, например <com.example.whatever.CheckBoxPreferenceWithLongSummary ... />
Кажется, для меня это нормально работает, хотя я не уверен насчет findViewById (android.R.id.summary), потому что в parentClass используется com.android.internal.R.id.summary, который не доступны напрямую из Java? Надеюсь, это не просто совпадение:)