
Leonid
15.02.2017
20:48:06
Сегодня всего две статьи в нашем дайджесте, но первая просто шикарная:
- Как заставить Android распознать пиво
- Любите ли вы ADB?
http://androiddev.apptractor.ru/interesnyie-materialyi-dlya-android-razrabotchika-nedelya-58/

Anton
15.02.2017
20:51:17
ну имхо статья так себе
просто рест апи заюзал
и с камеры фотку достал

Google

Leonid
15.02.2017
20:52:12
Главное не средства, а цель :)

Anton
15.02.2017
20:52:24
:)

Leonid
15.02.2017
20:52:29
Слово "пиво" +100 к оценке статьи же

Dmitrii
15.02.2017
21:47:04
Всем привет. У меня при открытии клавиатуры она загораживает кнопку "Вход" на экране логина. Как понять на сколько мне надо "поднять" контент экрана?

Artyom
15.02.2017
21:50:26
А ты не хотел воспользоваться imeOptions для решения подобной проблемы?

Igor
15.02.2017
21:52:01
Поднять контент в ручную - это эпл вей. Меняй разметку так, чтоб кнопка подымалась сама. Или же смотри совет выше

Dmitrii
15.02.2017
21:52:03
Первый раз об этом слышу вообще )
Но мне надо как бы вообще весь жкран поднять, не только филд активный
А так, чтобы самый низ оказался наверху клавиатуры

Artyom
15.02.2017
21:52:45
Эм, это дикий костыль.
Правь разметку чтоб сама подымалась, или реально почитай о imeOptions

Dmitrii
15.02.2017
21:54:02
Я согласен на костыль, к сожалению надо есь жкран ресайзить

Igor
15.02.2017
21:55:34
Так он сам должен ресайзится

Google

Igor
15.02.2017
21:56:11
В андроиде это делает система

Artyom
15.02.2017
21:56:16
А не подымать контент вручную

Илья
15.02.2017
21:56:24
imeOptions для этого и существует
Полностью решает задачу
Безо всяких костылей

Artyom
15.02.2017
21:56:49
Ну парню не хватает, видимо.

Igor
15.02.2017
21:57:02
ImeOptions про другое ж вродь как

Artyom
15.02.2017
21:57:20
Ну, не совсем.

Igor
15.02.2017
21:57:29
Может там поле ввода и пару кнопок опций

Илья
15.02.2017
21:57:30
Как раз же там либо ресайз при открытии клавиатуры, либо поднятие

Igor
15.02.2017
21:57:34
Мы ж не знаем
А, ну ок. Я походу тоже перепутал

Anton
15.02.2017
21:59:05
imeoptions задают экшн кнопку на софткейбоарде
типа actonsend

Artyom
15.02.2017
21:59:42
Ну так, а тут что нужно?
Триггернуть экшин по кнопке.
Идеальное решение.

Anton
15.02.2017
22:00:01
ну да

Artyom
15.02.2017
22:02:07
Кстати, у меня одного вызывает когнитивный диссонанс то, что imeOptions срабатывает на обычном EditText только при использовании deprecated атрибута singleLine? К слову, заставить работать их с lines="1" и maxLines="1" не вышло.
Именно на inputType="text"

Google

Илья
15.02.2017
22:02:52
А, лол, я спутал с windowSoftInputMode

Сан
15.02.2017
22:02:53
Ребята помогите :D

Artyom
15.02.2017
22:03:25

Илья
15.02.2017
22:03:44
Так а чуваку поднимать надо вроде

Artyom
15.02.2017
22:04:26
А он ресайзит и подымает, разве нет?
В любом случае onMeasure триггерится.
По умолчанию.

Илья
15.02.2017
22:05:56
Там можно поставить adjustPan

Anton
15.02.2017
22:07:01
саныч че те нужно братан

Artyom
15.02.2017
22:08:58

Dmitrii
15.02.2017
22:08:59

Artyom
15.02.2017
22:09:02
https://developer.android.com/training/keyboard-input/visibility.html#Respond

Dmitrii
15.02.2017
22:09:04
Вот это помогло

Artyom
15.02.2017
22:09:24
Ну тип да.
:)

Roman
15.02.2017
22:09:39
Товарищи вопрос по rx, после того как мне приходит ответ с сервера, мне нужно проверить статус ответа. Если ответ не ок то вызвать ошибку. Как это сделать?

Dmitrii
15.02.2017
22:09:52
Теперь другая проблема. Числовая клавиатура и текстовая имеют чуть развую высоту и при переключении между инпутами контролы скачут

Quarx2k ?
15.02.2017
22:09:58
У меня была подобная проблема. Логин пароль и кнопка. Нажимаешь и оно поднимает норм, но кнопка все равно на половину винда или не видна совсем

Dmitrii
15.02.2017
22:10:00
Жизнь боль

Artyom
15.02.2017
22:10:04

Google

Dmitrii
15.02.2017
22:10:32
Как бы задать такой отступ чтобы отскока небыло...

Artyom
15.02.2017
22:10:52
А никак.

Dmitrii
15.02.2017
22:11:16
Я готов обложиться лбыми костылями но ИМХО это уродство надо как то залепить

Roman
15.02.2017
22:11:32

Artyom
15.02.2017
22:11:53
То есть чтоб вызвался onError в ответе?
*subscribe-е

Илья
15.02.2017
22:12:27
Кинуть эксепшн просто

Artyom
15.02.2017
22:12:56

Admin
ERROR: S client not available

Artyom
15.02.2017
22:13:28
И обмазываюсь модификаторами паддингов в onMeasure

Roman
15.02.2017
22:13:46

Anton
15.02.2017
22:14:07
эксепшен просто
надо код?

Сан
15.02.2017
22:14:34
кто сталкивался с MultiLevel ExpandableListView, где кол-во левлов может быть от 1 до много. Гуглил в гугле и нагуглил следующую инфу, стоковый экспанд поддрживает 2 уровня, третий уровень уже с вшиванием обычного ListView. Теперь Нужен совет-Помощь, как реализовать многоуровневость?
собственно сам обьект-список вот
public class Contacts {
private int id;
private String name;
private String title;
private String email;
private String phone;
private List<Contacts> departments;
private List<Contacts> employees;}

Anton
15.02.2017
22:15:45
Да
int responseCode = getTimeRidesResponseResponse.code();
if (responseCode == 400){
TypeAdapter<BaseResponse> adapter = new Gson().getAdapter(BaseResponse.class);
try {
throw new BaseException(adapter.fromJson(getTimeRidesResponseResponse.errorBody().string()).getMessage());
} catch (IOException | NullPointerException e) {
throw new RuntimeException("ERROR");
}
}else if(responseCode == 401){
throw new NonAuthException();
}
я так делаю

Roman
15.02.2017
22:15:52

Artyom
15.02.2017
22:16:12

Google

Сан
15.02.2017
22:16:35
а что сделать
только не лист в лист
а лист в Эксп для получения 3го уровня
4й лвл идет на гору
>_<

Artyom
15.02.2017
22:17:22
То есть.
У тебя лист моделей
В которой лист таких же моделей
В которой лист моделей

Roman
15.02.2017
22:17:55


Сан
15.02.2017
22:18:08
да, без подключения либ
и прочей ереси
заполняю лист следующее
private List<Contacts> parse(JSONArray arr) {
try {
List<Contacts> temp_list = new ArrayList<>();
for(int i = 0; i < arr.length(); i++) {
Contacts temp = new Contacts();
temp.setId(arr.getJSONObject(i).getInt("ID"));
temp.setName(arr.getJSONObject(i).getString("Name"));
temp.setTitle(arr.getJSONObject(i).has("Title") ? arr.getJSONObject(i).getString("Title") : null);
temp.setEmail(arr.getJSONObject(i).has("Email") ? arr.getJSONObject(i).getString("Email") : null);
temp.setPhone(arr.getJSONObject(i).has("Phone") ? arr.getJSONObject(i).getString("Phone") : null);
temp.setDepartments(arr.getJSONObject(i).has("Departments") ? parse(arr.getJSONObject(i).getJSONArray("Departments")) : new ArrayList<Contacts>());
temp.setEmployees(arr.getJSONObject(i).has("Employees") ? parse(arr.getJSONObject(i).getJSONArray("Employees")) : new ArrayList<Contacts>());
temp_list.add(temp);
}
return temp_list;
} catch (JSONException ex) {
Log.e("ERROR", ex.getMessage());
return new ArrayList<>();
}
}


Artyom
15.02.2017
22:19:26
Слушай

Anton
15.02.2017
22:19:30
кто юзает реалм как работать с caseinsensitive c кириллицей

Artyom
15.02.2017
22:19:32
А почитай об gson

Сан
15.02.2017
22:19:44
gson отдельная либа
надо подключать
в compile пихать
это нельзя делать в моей ситуации

Artyom
15.02.2017
22:20:04
Одна строка в build.gradle

Anton
15.02.2017
22:20:13
саныч ты че такое пишешь