Основная причина: sendBroadcast - это метод класса Context
, потому что вы вызываете его в классе Adapter
, поэтому компилятор показывает ошибку «sendBroadcast не может быть решена» ».
Решение: Получить контекст из экземпляра представления, затем вызвать метод sendBroadcast
.
holder.constraintLayout.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//Store songList and songIndex in mSharedPreferences
storageUtil.storeSong(Main.musicList);
storageUtil.storeSongIndex(holder.getAdapterPosition());
// Obtain context from view instance.
Context context = v.getContext();
//Send media with BroadcastReceiver
Intent broadCastReceiverIntent = new Intent(Constants.ACTIONS.BROADCAST_PlAY_NEW_SONG);
context.sendBroadcast(broadCastReceiverIntent);
Intent broadCastReceiverIntentUpdateSong = new Intent(Constants.ACTIONS.BROADCAST_UPDATE_SONG);
context.sendBroadcast(broadCastReceiverIntentUpdateSong);
}
});
Из ЗАРУБЕЖНЫЙ КЛЮЧ
Ограничения
Если вы воссоздаете таблицу, которая была упал, оно должно иметь определение соответствует внешнему ключу ограничения, ссылающиеся на это. Это должно иметь правильные имена и типы столбцов, и он должен иметь индексы на ссылочные ключи, как указано ранее. Если они не удовлетворены, MySQL возвращает ошибка номер 1005 и относится к ошибке 150 в сообщении об ошибке.
Мое подозрение заключается в том, что вы не создали foo
как InnoDB, как все остальное выглядит хорошо.
Редактировать: из того же page -
Обе таблицы должны быть таблицами InnoDB, и они не должны быть временными таблицами.