私は 3 つの基本設定を持っています:
- Web アドレスを入力するため
の EditTextPreference - ポートを入力するための EditTextPreference
- Web ページからいくつかの要素を表示するための ListPreference (例: http://www.igs-ip.net:2101 ) によって定義された前の 2 つの設定。
これを実行可能にするために、3 番目の設定のクリックで Web 接続を検証することを考えていました。これまでのところ、クリックをキャッチして 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 ダイアログを表示しないようにする方法を見つけることです。空の ListPreference ダイアログを表示せずに、トーストだけを表示して問題を説明したいと思います。