Пользователь пока ничего не рассказал о себе

Достижения

Все достижения (1)

Наибольший вклад в теги

Все теги (16)

Лучшие ответы пользователя

Все ответы (35)
  • Калькулятор на Android крашится при отображении результата.В чем причина?

    @AlexeyVD
    Вы бы хоть стэктрейс сюда скопировали, или сами могли бы его посмотреть и решить проблему.
    View.setText() принимает либо CharSequence, либо id ресурса, а вы туда int'овый результат пытаетесь засунуть.
    Ответ написан
    3 комментария
  • Как убрать цифры в начале строки?

    @AlexeyVD
    UPDATE table1
    SET alias = REPLACE(alias, alias + 0, '');
    Ответ написан
    Комментировать
  • Как задать пользовательскую переменную в запросе?

    @AlexeyVD
    Переменную можно объявить в подзапросе. Например:
    SELECT f1, @i := @i + 1
    FROM table1
    JOIN (SELECT @i := 0) t
    


    Что бы использовать ее применимо к вашей задаче, нужно в подзапросе пронумеровать строки, а потом уже по условию выбрать нужные. Что-то вроде этого:

    SELECT f1, f2
    FROM
      (
         SELECT f1, f2, @i := @i + 1 AS num
         FROM table1
         JOIN (SELECT @i := 0) t
         ORDER BY f3
      ) sel
    WHERE sel.num % 5 = 0
    
    Ответ написан
    2 комментария
  • Можно ли в Navigation Drawer в место item-мов вставить статические TextView?

    @AlexeyVD
    <android.support.v4.widget.DrawerLayout
    ...
    >
        <android.support.design.widget.NavigationView
            ...
        >
            <
              ...
              Тут вставляете все, что вашей душе угодно. Хоть фрагмент, хоть еще чего.
              ...
            />
    
        </android.support.design.widget.NavigationView>
    </android.support.v4.widget.DrawerLayout>
    Ответ написан
    1 комментарий
  • Databinding и RecyclerView как объединить?

    @AlexeyVD
    Работа с данными в RecyclerView происходит через класс адаптер. Вот когда-то накидал простенький абстрактный адаптер, когда тестировал data binding:
    public abstract class AbstractRecyclerAdapter<E> extends 
    RecyclerView.Adapter<AbstractRecyclerAdapter.BindingHolder> {
    
        private List<E> mElements;
    
        public AbstractRecyclerAdapter() {
            mElements = new ArrayList<>();
        }
    
        public abstract int getItemLayoutId();
        public abstract int getVariableId();
    
        public void setElements(List<E> elements) {
            mElements = elements;
        }
    
        @Override
        public BindingHolder onCreateViewHolder(ViewGroup parent, int viewType) {
            View v = LayoutInflater.from(parent.getContext()).inflate(getItemLayoutId(), 
                         parent, false);
            return new BindingHolder(v);
        }
    
        @Override
        public void onBindViewHolder(BindingHolder holder, int position) {
            final E element = mElements.get(position);
            holder.getBinding().setVariable(getVariableId(), element);
            holder.getBinding().executePendingBindings();
        }
    
        @Override
        public int getItemCount() {
            return mElements.size();
        }
    
        public static class BindingHolder extends RecyclerView.ViewHolder {
    
            private ViewDataBinding binding;
    
            public BindingHolder(View itemView) {
                super(itemView);
                binding = DataBindingUtil.bind(itemView);
            }
    
            public ViewDataBinding getBinding() {
                return binding;
            }
        }
    }


    Пример реализации для класса History:
    public class HistoryRecyclerAdapter<History> extends AbstractRecyclerAdapter<History> {
        public HistoryRecyclerAdapter() {
            super();
        }
    
        @Override
        public int getItemLayoutId() {
            return R.layout.item_history;
        }
    
        @Override
        public int getVariableId() {
            return BR.history;
        }
    }


    Добавляете и изменяете элементы в списке с помощью setElements() и notifyDataSetChanged():
    mRecyclerAdapter.setElements(getData());
    mRecyclerView.setAdapter(mRecyclerAdapter);
    mRecyclerAdapter.notifyDataSetChanged();


    Ну и в разметке вашего item_history должно быть объявление variable history с прочими биндингами:
    ...
        <data>
            ...
            <variable
                name="history "
                type="History " />
           ...
        </data>
    ...
    Ответ написан
    Комментировать