George
В catch видит, проваливается вне блока try catch
Ivan
Как вариант Ты создаёшь arr в самом начале и этот arr ссылается на один блок памяти. Потом ты в try передаешь ему другую ссылку (на другой блок памяти), потом эта ссылка теряется
Ivan
Добавь один элемент в самом начале и протесть, что будет?
Plomipu
народ. Помогите мне. Если есть те, кто во flutter как-то работал, можете мне помочь в ЛС ?? p.s. На medium.com совсем оборзели: просить денег за месяц за чтение статей. Тем более я там не такой уж и постоянный читатель., а там были статьи про конфигурацию порта во флаттере для бекенда Не важно. Короче мне нужно задать порт и хост во флаттерском приложении, чтобы при запуске приложения через Intellij IDEA телефон будучи подсоединённый к компу, он стучался в бекенд, что на моём компьютере. Я сети никогда не настраивал, так что тут я дуб дубом. Поможете в ЛС ?? напоминаю пока только для андроида.
Plomipu
спасибо
Vladislav
Добрый день, если приложение опубликовано, но через поиск найти нельзя, это норма? Еще пару дней ждать? Ссылка на само приложение есть, Россия указана в доступных сайтах.
Ivan
Ivan
Ivan
Ребят, не знаете что за либа. может не самописное?
Dmitry
package com.example.apiapp; import android.os.Bundle; import android.util.Log; import android.widget.TextView; import androidx.appcompat.app.AppCompatActivity; import androidx.recyclerview.widget.LinearLayoutManager; import androidx.recyclerview.widget.RecyclerView; import com.android.volley.Request; import com.android.volley.RequestQueue; import com.android.volley.Response; import com.android.volley.VolleyError; import com.android.volley.toolbox.JsonObjectRequest; import com.android.volley.toolbox.Volley; import org.json.JSONArray; import org.json.JSONException; import org.json.JSONObject; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; public class MainActivity extends AppCompatActivity { ArrayList<String> mContacts; RecyclerView mRecyclerView; RecyclerView.LayoutManager mLayoutManger; RecyclerView.Adapter mAdapter; String cpTitleS; TextView cpTitle; Map<String, String> items; JSONArray arr = new JSONArray(); private List listItems; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); System.setProperty("file.encoding", "UTF-8"); // listItems = new ArrayList<>(); items = new HashMap<String, String>(); // String URL = "https://test.manana.life/v1/search.getList"; cpTitle = (TextView) findViewById(R.id.cpTitle); Api(); } public void Api(){ RequestQueue requestQueue = Volley.newRequestQueue(this); String URL = "https://test.manana.life/v1/search.getList?"; JsonObjectRequest objectRequest = new JsonObjectRequest( Request.Method.GET, URL, null, new Response.Listener<JSONObject>() { @Override public void onResponse(JSONObject response) { try { JSONObject object = response.getJSONObject("response"); arr = object.getJSONArray("items"); System.out.println(arr.length()); for (int i=0;i<arr.length();i++) { JSONObject o = (JSONObject)arr.get(i); listItems.add(o); System.out.println(listItems.size()); } } catch (JSONException e) { e.printStackTrace(); } } }, new Response.ErrorListener() { @Override public void onErrorResponse(VolleyError error) { System.out.println(error); Log.e("response error", error.toString()); } } ); System.out.println("вне try"+arr.length()); requestQueue.add(objectRequest); mRecyclerView = findViewById(R.id.rcView); mContacts = new ArrayList<>(); mContacts.add(cpTitleS); mContacts.add("Упаковщик"); for (int i = 0;i<100; i++) { mContacts.add("Упаковщик #" + i); } mRecyclerView.setHasFixedSize(true); mLayoutManger = new LinearLayoutManager(this); mAdapter = new MainADapter(mContacts); mRecyclerView.setLayoutManager(mLayoutManger); mRecyclerView.setAdapter(mAdapter); } }
Это асинхронный запрос, его колбэк может вызваться позже чем print "вне try"
SerJanna
А что там сложного?🤔 Думаю написать самому не составит труда
Anonymous
Как сделать так, чтобы edittext стоял в один ряд с textview( слева от него)? LinearLayout
Anonymous
Anonymous
В linearlayout поставить orientation horizontal
Там несколько таких рядов будет
Села
Там несколько таких рядов будет
Создать еще таких же linearlayout
Села
Внутри с textview и edittext
Anonymous
Создать еще таких же linearlayout
Все через tablerow сделал
Сергей
Если это таблица с переменным числом строк - нужна программная верстка и table layout
Сергей
Если с постоянным то в верстку можно в нем же
Anonymous
Как мне раздвинуть эти два элемента без margin?
Anonymous
Axbor
padding
Anonymous
Нужно, чтобы было, как сверху и желательно, чтобы edittext'ы cнизу были на том расстоянии от textview и того же размера, что и самый первый
Сергей
android:layout_marginRight/Left это?
Экспериментируйте. И лучше start/end
Yank
Всем привет. У меня два рецайкалвью, один внутри другого. В чем может быть причина что айтемы иногда в первого раза не реагирую на клик?
Yank
Онклик повесил в методе онбайнд
Сергей
Онклик повесил в методе онбайнд
Внутреннего адаптера, надеюсь? Отлаживать надо. Так не скажешь
Валера
Коллеги кто-нибудь может помочь прояснить ситуацию со @scope в Dagger2? Понимаю, что scope-аннотация говорит Dagger, что зависимость должна быть создана только один раз и закэширована. Понимаю, что scope-ом можно обозначить дерево зависимостей, как-то логически их обозначить. Не понимаю почему во всех статьях говориться, что scope позволяет работать со временем жизни компонента. Тут сразу вопрос. Если я создал компонент, у меня же уже есть ссылка на него, соответственно я могу её держать и когда захочу отпустить Garbage Collector. Зачем и как мне тут помогут @scope аннотации?
Валера
Если @scope позволяют как-то промаркеровать дерево зависимостей, то это же дублирования функций Component. Компонент сам по себе уже имеет логичное название которое в целом описывает общее назначение зависимостей. Тут опять же не вижу практичного применения @scope
Валера
Если кто глубоко разбирается в этом, пожалуйста помогите понять 🙂
Валера
Речь идет конечно только о создании кастомных @scope, назначение дефолтного @Singleton понятно
Ruslan
Привет. Подскажите, если TextView содержит многострочный текст, как сделать так, чтобы каждая строка, если она не влезает, обрезалась в конце, а не переностилась на следующую строку?
Ruslan
single line + ellipsize, например
Текст разделен на строки переносом \n. То есть ellipsize должен работать для каждой строки. Single line не покатит.
Dug
А, ты именно о каждой строке....
Eugene
кастомный текствью написать)
Ruslan
А, ты именно о каждой строке....
Что то вроде такого abcd... efg hijk...
Ruslan
кастомный текствью написать)
Да вот пытаюсь. Разобраться как TextView работает сложновато — там класс на 13к строк.
Eugene
кастомную вью на основе LinearLayout с TextView в каждой строчке + как вам выше нааисали
Ruslan
кастомную вью на основе LinearLayout с TextView в каждой строчке + как вам выше нааисали
Можно, но у меня на экране предполагается целая куча таких виджетов. Если каждый раз городить LinearLayout + неопределенное количество TextView, то как-то не кошерно получается.
Eugene
ну вот, поэтому всегда лучше всю ситуацию целиком описать) я думал что у вас там 1 виджет и 10 строчек)
Ruslan
ну вот, поэтому всегда лучше всю ситуацию целиком описать) я думал что у вас там 1 виджет и 10 строчек)
Есть идея переопределить setText и дальше каким-то образом проверять влезает ли каждая отдельная строка. Если нет - обрезать.
Ruslan
Но как это определить - хз.
Ruslan
RecyclerView городи)))
Ага, найс. 🙉
Eugene
а если через верстку? и Html.frmHtml
Aleksey
Ага, найс. 🙉
А что найс? Это ведь сработает.
Anonymous
Скажите, а насколько правильно так делать? https://gist.github.com/cesarferreira/ef70baa8d64f9753b4da В коде автор вызывает AsyncTask в методе оnCreate
Ruslan
А что найс? Это ведь сработает.
Сработает конечно. Но мой виджет — это часть item-a в RecyclerView. Куча recycler-ов внутри recycler-a — это сильно.
Eric
У меня был такой кейс. Правда там внутри основного ресайклера лежали горизонтальные.
lbai
тащемта нужно узать рецуклер с разными типами айтемов, и в зависомости от типа айтема или позиции можно менять, частично, его тип, количество столбцов и т.д
Ruslan
Это как из пушки по воробьям. А нужно всего то вот это. Вот там где перечисление идет в каждой карточке.
lbai
ну или ресуклер в ресуклере или листвью, шоб полегче
Yakov
lbai
вьюхолдер вроде как переиспользуется, так что рендерить это все будет шустро
Yakov
Нет не было, даже на 19 апи все хорошо.
Anonymous
а че нет?
А че да? Разве нормально вызывать AsyncTask из onCreate?
Yakov
Проблем на 5м андроиде не было?
Там ещё кейс интересней был, мне потом нужно внутренний итем менять стейт, и даже это получились малой кровью.
lbai
А че да? Разве нормально вызывать AsyncTask из onCreate?
таки вы хотите поговорить нормально ли вообще использовать таску в 2k19? в данном примере, ок
Anonymous
таки вы хотите поговорить нормально ли вообще использовать таску в 2k19? в данном примере, ок
Не, в принципе я знаю что есть Корутины, есть RX ит.д., но я только начал ковырять Андроид. поэтому пока начал с малого - Async
lbai
Ну если по кошернее, то можно вызывать в onResume, таску хранить в переменной, и данную переменну в onDestroy чекать иф ран => стоп и нулить
lbai
такто есть варик что таска переживет активити, залочит вьюху на которую имеет ссылку, и при определенных условиях можно закрашить приложение, но в данном случае можешь блочить поворот экрана и все ок
Alexey
Доброго дня. Подскажите пожалуйста, люди добрые) Пишу переводчик с английского на русский. Использую RxJava2 и Retrofit. Подписан на изменения EditText и с debounce в 1 секунду отправляю запрос на сервер и в TextView устанавливаю перевод, пользуюсь API яндекс переводчика. Суть в том, что когда хочу отчистить EditText, при попытке отправить запрос с пустым значением "text" приходит ошибка, 400 Bad Request и ничего после этого не работает, только если перезагрузить приложение. Можно при желании установить в цепочке ".filter { it.isNotEmpty() }" но тогда в TextView будет приходить перевод последней оставшейся буквы при попытке стереть все, что логично, а мне надо чтобы при стирании EditText в TextView был виден только hint. Что можно сделать? Как поступить? Заранее спасибо.
lbai
Значит при onDestroy / onPause надо останавливать AsyncTask?
тебе проще для теста, в таске запустить цикл, чтоб отстукивал посекундно в лог, с указанием хеша таски, ну и покрутить устройство, в фон позакрывать, убедишьсь что будут копии таски, или краши... а так лучше храни в переменной, и когда нужно стопай ее)) хех