我有 3 个首选项设置:
- EditTextPreference 输入网址
- EditTextPreference 输入端口
- ListPreference 显示网页中的一些元素(例如http://www.igs-ip.net:2101)定义前 2 个设置。
为了使这个可行,我想在点击第三个设置时验证网络连接。到目前为止,我能够捕捉到动态填充 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 对话框。