我有3种偏好设置:
- 用于输入网址的EditTextPreference
- 用于输入端口的EditTextPreference
- 一个ListPreference,用于显示前两个设置定义的网页中的某些元素(例如http://www.igs-ip.net:2101)。
为了使这个可行,我想在点击第3个设置时验证网络连接。到目前为止,我能够捕获点击以动态填充ListPreference:
ListPreferenceDynamic dlp = (ListPreferenceDynamic)findPreference(strKey);
dlp.setOnClickListner(new ListPreferenceDynamicOnClickListener()
{
public void onClick(ListPreferenceDynamic preference)
{
String[] astr = astrOpenWebPageAndGetInfo(strAddress, strPort);
if (astr != null)
{
preference.setEntries(astr);
preference.setEntryValues(astr);
}
}
});
我现在的问题是找到一种方法来阻止在出现问题时显示ListPreference对话框,比方说,使用互联网地址。我只想展示Toast来解释问题而不显示空的ListPreference对话框。