【发布时间】:2018-02-08 18:18:26
【问题描述】:
我正在尝试创建一个ListPreference,以显示成功连接的 IP 地址列表。
我在MainActivity 中将 IP 地址标记为已成功连接,我希望有一种方法可以将成功的 IP 地址作为数组附加到 SharedPreferences,这样当用户打开 PreferencesActivity ,有一个ListPreference 显示我标记为成功的IP 地址。
我已经看过this 的帖子,它真的很接近,但我认为我不能将SharedPreference 字符串集转换为CharSequence[] 可以吗?
到目前为止,这是我的代码:
public class IPHistoryListPreference extends ListPreference {
SharedPreferences sharedPref;
public IPHistoryListPreference(Context context, AttributeSet attrs) {
super(context, attrs);
sharedPref = PreferenceManager.getDefaultSharedPreferences(context);
}
public IPHistoryListPreference(Context context) {
super(context);
sharedPref = PreferenceManager.getDefaultSharedPreferences(context);
}
@Override
protected View onCreateDialogView() {
ListView view = new ListView(getContext());
view.setAdapter(adapter());
}
private ListAdapter adapter() {
return new ArrayAdapter(getContext(), android.R.layout.select_dialog_singlechoice);
}
private CharSequence[] entries() {
//convert sharedPref stringSet to CharSequence[] ?
}
private CharSequence[] entryValues() {
//convert sharedPref stringSet to CharSequence[] ?
}
}
【问题讨论】: