#java #android
Вопрос:
Сначала отправил 0 в lit1 и 300 в lit2, результат был замечен 0/300 огней
, затем отправил 200 в lit1, и результат был замечен 200/300 огней
, затем отправил 0 в lit2, и результат был замечен 200/0 огней.
Перезапуск (лит1 200 и лит2 300), изменение лит1 на 20, и результат был замечен 20/300 огней
, затем изменение лит1 на 200 и лит2 на 30, результат был замечен 200/30 огней
Перезапуск (лит1 200 и лит2 300), изменил лит1 на 0, в результате было обнаружено 200/300 огней
Я пробовал так много раз и выяснял, что каждый раз, когда a > 0 и b >> 0, затем отправляет lit1 с 0,>>
он не может передать условие «!spot.toString().содержит(a «/» b)».
Код:
static SpannableString spot;
static ForegroundColorSpan y;
public class Span {
static SpannableString SPOT(int lit1, int lit2){
String a = Integer.toString(lit1), b = Integer.toString(lit2);
if(spot==null|| !spot.toString().contains(a "/" b)){
y = new ForegroundColorSpan(Color.YELLOW);
spot = new SpannableString("Spotted " d "/" b " lights");
spot.setSpan(y, 7, 7 d.length() b.length(), Spanned.SPAN_INCLUSIVE_EXCLUSIVE);
}
return spot;
}
}
Действительно нужна помощь, потому что я использую много методов SpannableString.
Ответ №1:
200, 300 и 20 все заканчиваются на «0».
Редактировать:
Может быть, я недостаточно ясно выражаюсь. «0/300» находится внутри «200/300».
Комментарии:
1. Я пробовал отправлять лит1 123 и лит2 456, и при отправке лит1 с 0 это действительно работает. Но я все еще не понимаю, как оба заканчиваются на «0», потому что «содержит» означает все в a «/» b, верно? Или нет? Очень признателен за объяснение, поэтому я знаю, как сделать правильный код.
2. «собака» полностью содержится внутри «абадогабы». таким образом, «абадогаба».содержит(«собака»), вернет истину. Аналогично «0/300» полностью содержится внутри «200/300».
3. @ D. Купра я вижу.. омг, существует так много методов, использующих contains, которые так сильно отличаются от того, о чем я думал. О, мой бог… Большое вам спасибо за объяснение, сэр.
4. 1 вещь все еще отсутствует.. Почему это может быть 200/0 от 200/300..? Лол!
5. Я не знаю, но это не будет вызвано поведением spannablestring. И, вероятно, это не имеет особого отношения к сдерживанию строк, потому что это определяет, меняете ли вы место, а не то, на что вы его меняете. Поэтому, даже если вам кажется, что вы получили правильный заказ, наиболее вероятным местом для поиска является то, что вы переключили лит1 и лит2.