last day (15 days later) » 

12:50 PM
0
A: Добавление в список при нажатии на кнопку

Andrew GoroshkoВам в вашем адаптере нужно чтобы было так: class ProductViewHolder extends RecyclerView.ViewHolder { TextView textProduct; CardView cv; Button btn; public ProductViewHolder(@NonNull View itemView) { super(itemView); cv = (CardView)itemView.findViewById(R.id.cv...

 
и чтобы получить название продукта, я прописать должен так ? public void onBindViewHolder(@NonNull ProductViewHolder holder, final int position) { // подставляются значения в RecyclerView holder.textProduct.setText(list.get(position).getProductName‌​()); holder.btn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { basketList = new ArrayList<String>(); basketList.add(list.get(position).getProductName()); } }); }
 
вам при нажатии на кнопку нужно получить название текущего продукта?
 
я хочу, чтобы при нажатии на кнопку, я название продукта передавал в другой список basketList
 
да, один из вариантов тот что вы придложили, либо вытаскивать данные о нажатом елементе и слать в массив
 
я же потом смогу этот список передать через putExtra в другое activity ?
 
12:50 PM
а вот это уже другой вопрос)) я бы вам советовал два варианта: либо сделать публичным глобальным массив в адаптере и доставать его уже там где вам нужно, либо сделать все через отдельный класс, потому что сейчас вы предлагаете при нажатии на кнопку сразу переходить в корзину
@danilshik, да я про это читал статейку одну, но способ тем не менее был там освещен) интерфейс конечно лучший вариант для решения подобных задач
 
@AndrewGoroshko а можете подробно дать ваш ответ, как реализовать через интерфейс, пожалуйста ?
@danilshik или вы можете дать подробный ответ, как реализовать через интерфейс, пожалуйста ?
 
уже пишу, если что меня исправят :)
 
@AndrewGoroshko тогда жду :)
 
у вас там довольно сложная система)) если у вас две активности в каждой свой список со своим адаптером, то для каждой активности и для каждого списка свой адаптер нужен :)
 
я что-то совсем запутался :DD
у меня есть список продуктов, есть адаптер для этого списка, так же есть активити "корзина", где будет список выбранных продуктов, и для корзины я тоже создал адаптер
 
12:52 PM
я честно говоря тоже) у вас был вопрос по поводу ошибки, а теперь там появляется куча сопутствующих вопросов уже после решения проблемы с кнопкой :)
@Programmer начало я понял
 
@AndrewGoroshko сначала создаю интерфейс, тут ничего сложного нет
Дальше в активности я должен прописать : public void recyclerViewListClicked(View v, int position){... ...}
myAdapter = new MyRecyclerViewAdapter(context, this);
Вот тут вопрос - использовать адаптер списка продуктов или адаптер корзины ? :D
 
так
давайте по порядку
 
скорее всего адаптер списка продуктов, потому что я же должен сначала получить, на что нажал человек
АААА, СЛОЖНААА
:D
@danilshik добро пожаловать :)
 
у вас есть список, в котором есть какие-то елементы (продукты) - при нажатии на кнопку вы хотите добавить выбранный елемент в корзину - и дальше уже тащить выбранные елементы в другом активити?
 
я бы хотел при нажатии на кнопку, чтобы продукт добавлялся в список, а далее я этот список передаю в другое активити - т.е. в корзину
ну я так себе это представлял
 
12:58 PM
вы должны интерфейс который создали использовать в вашей корзине
implements OnItemClickListener написать возле вашей корзины
и дальше вы будете получать выбранные елементы в другой списке
 
Только ваш способ тоже не очень
 
честно говоря для меня это все выглядит как огроменный костыль, но может быть это из-за того что я работаю немного по-другому)
 
А если пользователь выйдет из приложения, то весь список добавленных продуктов пропадет
Вам нужно сохранять еще, например в SharedPreference
 
@danilshik, кстати да))
либо бд брать
 
Вон хотя бы Room прицепите
 
1:01 PM
называется взял на свою голову андроид приложение на диплом :D
 
такие данные вообще в бд хранят, потому что юзать настройки приложения для хранения таких данных глупо
@Programmer все с чего-то начинают)) я тоже с диплома начинал, и благодаря ему нашел работу :)
 
Я неработающее мобильное приложение на дипломе на 5 защитил)
 
@danilshik это уже исскуство :)
 
@AndrewGoroshko я в дальнейшем больше не хочу связываться с андроидом :D
@danilshik вот и мне, главное,чтобы работало - а то.что пользователь выйдет и список выбранных продуктов пропадет, это уже его проблемы :DD
 
@Programmer зря вы так) просто сейчас вам сложно потому что мало знаете, у меня вон на so 200+ вопросов)
 
1:03 PM
Вообщем, вам нужно не в список добавлять, который потом пойдет в другой фрагмент, или активити, а сохранять в базе данных. В другой активити, вы уже вытаскиваете из базы данных.
 
@danilshik, чисто гипотетически можно юзать и настройки если данных будет не очень много, с бд мороки много
 
вот,да, как-то не хочется список выбранных продуктов еще подключать к бд
казалось бы, что сложного, поместить в список , и этот список передать
 
если не парится за выход пользователя из приложения то можно все запилить через синглтон, это на мой взгляд самый простой способ получить и заполнить список
 
меня не парит ,то что выйдет пользователь, если спросят - скажу что приложение еще в доработке, в будущем будет доделано
а как через синглтон вы хотите ? я просто не работал еще с ними
 
Programmer посмотрите курс Android - разработки от компании e-Legion на coursera.org. Правда там всего 7 дней, но вы можете скачать видео и посмотреть в удобное время
 
1:09 PM
public class MySingleton {
    private static MySingleton mInstance;
    private ArrayList<String> basket;


public synchronized static MySingleton getInstance() {
        if (mInstance == null) {
            synchronized (MySingleton.class) {
                if (mInstance == null)
                    mInstance = new MySingleton();
            }
        }
        return mInstance;
    }


    public MySingleton() {
    }
}
как-то так
и дальше
добавляете сеттеры и геттеры для массива
и тащите его откуда вам нужно
этот синглтон нужно будет наверное еще допилить, но суть понятна я думаю)
MySingleton.getInstance().setArray(...)
так сетите массив
MySingleton.getInstance().getArray(....) так его получаете там где вам нужно
 
ох,для меня это новый свет :D
 
в сети много туториалов по этому поводу есть, @danilshik, вполне годный предложил
 
это бесплатный курс ?
 
на 7 дней
 
смотрю там регаться надо, сегодня начало курса
 
1:13 PM
она каждый день начало)
 
ааа
 
Так то у них специализация из 6 курсов, на coursera-org представлено только 3 бесплатно в течении 7 дней.
 
и до истечения 7 дней надо скачать эти видео ?
или потом можно будет тоже ?
 
нужно будет скачать
 
потом заново регаться нужно будет
 
1:15 PM
Ваш вариант с обработкой нажатий через интерфейс находится на 2 курсе 2 недели обучения и называется Обработка нажатий на элементы списка
Так же очень полезен 3 курс, там рассказывается о реализациях паттернов в Android - разработки MVP MVVM, DEPENDENCY INJECTION CLEAN ARCHITECTURE
 
ага
эхх
 
И удачи в освоении, у меня 1 неделя ушла на 3 курса
 
хорошо диплом защитить :) не отчаивайтесь, android не такой плохой как кажется :)
 
ахаха
изначально было интересно
но чем дальше пошел
тем больше у меня пропадало желание
работать с ним
ну и после сдачи диплома я решил вообще уйти от андроида
 
когда вам будут за это платить деньги, то желание будет огроменное)
 
1:22 PM
потому что чувствую и вижу, что это не мое
деньги то платят хорошие, я не спорю
сколько там джуниору - 600$ платят
 
Проблема еще в том, что Android слишком быстро обновляются, постоянно какие новые фишки делают, старые объявляют deprecated
до 70к
 
сейчас еще гугл выпустить свою систему
и думаю это будет полная замена
android
 
android хорош, но пришло время менять его, не думаю что будет большое отличие
 
та и java тоже пора убирать )
 
Недавно использовал SDK от Вконтакте, там был один метод, который использовался при авторизации, проблема была в том, что конструктор поддерживал только Activity или Fragment, а Fragment.v4 не поддерживал, хотя простой Fragment объявлен deprecated
 
1:24 PM
но гугл неплохо на нем наваривает, и не думаю что гугловцы убьют дойную корову)
 
Как минимум 3 года еще будет
 
Kotlin куда лучше будет
чем java
 
На kotlin быстрее и легче писать приложения, но у него тоже свои фишки
 
да, я на котлин все никак не перейду)
 
а лучше писать на ios ))
 
1:25 PM
на ios дороговато немного)
 
это да
 
Чего стоят только data class
 
но на ios более платяжеспособная аудитория, которая может купить ваш продукт, если им понравится
 
Ладно я пошел продолжу тестовое задание на Android- разработчика выполнять, удачи в освоение
 
всем удачи :)
 
1:26 PM
давай, удачи
спасибо за помощь
 

last day (15 days later) »