Это не точное решение вашей проблемы с получением данных из firebase в обратном порядке, но в любом случае у нас есть другие проблемы.
Первая работа вокруг упоминается в комментарии использования пользовательского адаптера для вашего списка.
Чтобы добиться такого поведения, вам нужно получить данные о базе данных в списке, а затем вы должны перевернуть его самостоятельно, прежде чем передавать его на адаптер. Просто!
Вторая работа легко, как пирог, и я думаю, что если вы используете RecyclerView
, это может сделать трюк для вас, и я считаю это самым простым способом выполнить эту работу.
Вот, я изменяю часть моего кода с помощью RecyclerView
// Declare the RecyclerView and the LinearLayoutManager first
private RecyclerView listView;
private LinearLayoutManager mLayoutManager;
...
@Override
public void onViewCreated(View view, Bundle savedInstanceState){
// Use FirebaseRecyclerAdapter here
// Here you modify your LinearLayoutManager
mLayoutManager = new LinearLayoutManager(MainActivity.this);
mLayoutManager.setReverseLayout(true);
mLayoutManager.setStackFromEnd(true);
// Now set the layout manager and the adapter to the RecyclerView
listView.setLayoutManager(mLayoutManager);
listView.setAdapter(adapter);
}
Установив mLayoutManager.setReverseLayout(true);
- вы 're reverse the your layout и mLayoutManager.setStackFromEnd(true);
позиционирует представление в верхней части вашего списка.
Миграция на RecyclerView
проста. Ваш макет будет что-то вроде этого
И в вашем build.gradle
dependencies {
compile 'com.android.support:recyclerview-v7:23.4.0'
}
Вам нужно, чтобы FirebaseRecyclerAdapter
можно было найти здесь, в FirebaseUI .
Примечание. Не используйте RecyclerView.LayoutManager
, поскольку функции setReverseLayout
и setStackFromEnd
не будут найдены в RecyclerView.LayoutManager
. Используйте LinearLayoutManager
, как указано.
Обновить
Вот как вы можете обрабатывать события кликов ваших элементов в списке.
Вам нужно было объявить ViewHolder
для реализации права RecyclerView
? Просто добавьте еще одну функцию в свой класс ViewHolder
, как показано ниже, и вызовите эту функцию после функций setText
, которые у вас там есть.
public static class MyViewHolder extends RecyclerView.ViewHolder {
View mView;
public MyViewHolder(View itemView) {
super(itemView);
mView = itemView;
}
public void setClickEvent() {
// Set the onClickListener on mView
// mView.setOnClickListener(new OnClickListener)...
}
}
Существует вероятность того, что ваша установка MYSQL была повреждена. Лучшее, что вы можете сделать, это найти MYSQL INSTALLER в вашей системе и затем запустить его снова.
Он не будет загружать сервер MySQL снова, он просто поможет вам настроить его.
После этого отредактируйте путь environment variables
и добавьте в него папку bin вашего mysql.
К настоящему времени это должно работать.
Я сталкивался с одной и той же проблемой пару раз, и каждый раз причина была разной:
Возникла эта проблема в Windows 10 и MySQL 8. Решена с помощью следующих шагов: Панель поиска (внизу слева)> Диспетчер задач> Запуск от имени администратора> Службы> MySQL80
Перейти к типу бега services.msc
. Проверьте, запущены ли службы MySQL
или нет. Если нет, запустите его вручную.
Эй, это не большая проблема, что вам нужно сделать, это .....
1. Run your cmd as administrator.
2.What you will see is like this
c:\windows\system32>
3.Go to your bin location by using cd..
like C:\mysql\bin(my location of bin in my computer is what you are seeing so chose yours correctly)
4.C:\mysql\bin>mysql --install
Service successfully installed.
5.C:\mysql\bin>NET START MySql
The MySql service is starting
The MySql service was started successfully
Тогда последним шагом будет
6.C:\mysql\bin>mysql -u root - p admin
It will ask for password don't enter anything first time because it will use blank, n just press enter you are done.
N позже, вы также можете установить пароль ...:)
У меня машина с Windows 8.1, и mysql вообще не работал даже после попытки запустить mysqld без журналов ошибок. Это решение сработало для меня:
Служба mysqld теперь должна быть доступна.
Я также сталкиваюсь с той же проблемой. попробуйте
Если вы используете zip-архив без установки, вам нужно сначала выполнить mysqld.exe
, чтобы запустить службу, а затем выполнить mysql.exe
, чтобы открыть ваше соединение.
Нет необходимости в установке, но если вы намерены выполнить какую-либо серьезную работу с MySQL, вы можете рассмотреть возможность использования MSI для правильной установки или если вы занимаетесь веб-разработкой, дайте XAMPP попытка
Убедитесь, что файл Mysqld.exe находится в папке bin. если его там нет, просто скопируйте этот файл с любого другого компьютера и вставьте его в папку bin. Просто дважды щелкните. Затем запустите mysql.its решено
Я перепробовал все вышеупомянутые варианты, но не могу найти решение этой проблемы. Тогда я получил его решение .... Эта ошибка высвечивается, когда мы пытаемся открыть mysql без указания службы. Следуйте приведенным ниже шагам.
ШАГ 1
Открыть приглашение cmd
для запуска типа службы
mysqld --console это запустит службу mysql
введите описание изображения здесь
ШАГ 2 не закрывайте эту команду cmd
, теперь откройте новый Приглашение cmd и введите
mysql -u root -p
, затем введите свой пароль
введите здесь описание изображения