Hmnは今日も同じ問題を抱えていました。私の代替ソリューションは、要約内により多くのテキストを表示できるようにすることです。
次のような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を使用してPreferenceレイアウトを設定すると仮定します-完全にプログラムで可能かどうかはわかりません)、古い<CheckBoxPreference.../>
ものを次のような新しい実装に置き換えます。<com.example.whatever.CheckBoxPreferenceWithLongSummary ... />
parentClassではcom.android.internal.R.id.summaryが使用されているため、findViewById(android.R.id.summary)についてはよくわかりませんが、直接アクセスできないようです。 Java内から?それが単なる偶然ではないことを願っています:)