По запросу на сервер приходит строка, которую я делю и вывожу на экран:
public void onSuccess(Context c, String result){
String d = "<pub>";
String[] public = result.split("<pub>");
for(String pub: public){
LinearLayout p = getPage(pub);
main.addView(p);
}
}
проблема в том, что если сервер возвращает строку без символов переменной d, он по понятным причинам выкидывает из приложения. Не могу написать проверку, чтобы, если возвратилась непонятная строка, он выводил, например, метод error().
Думаю понятно объяснил.
В классе String в Java есть замечательный метод contains(CharSequence s) проверяющий наличие подстроки в строке и возвращающий true при её наличии и false при отсутствии подстроки в строке.
Далее.
Прервать работу можно выкинув исключение.
Для этого исключение нужно сначала создать.
public class SubstringNotFoundException extends Exception {
//...
}
Далее нужно всех уведомить что Ваш метод может выбрасывать что-то нехорошее
public void onSuccess(Context c, String result) throws SubstringNotFoundException {
//...
}
Итого получаем:
public void onSuccess(Context c, String result) throws SubstringNotFoundException {
String d = "<pub>";
if(!result.contains(d))
throw new SubstringNotFoundException();
String[] public = result.split(d);
for(String pub: public){
LinearLayout p = getPage(pub);
main.addView(p);
}
}
private boolean checkStr(String s){
return s.contains("<pub>");
}
public void onSuccess(Context c, String result){
if (checkStr(result)){
//Если в строке присутствует тег <pub> то
String[] public = result.split("<pub>");
for(String pub: public){
LinearLayout p = getPage(pub);
main.addView(p);
}
} else {
// Иначе
}
}
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости