What i do Wrong? I2c, commads IF, IR

this is my sketch. why I Icd doesnt show text then I pressing programmed IR button?

P.S. codes of buttons are correct.

#include <Wire.h>
#include <hd44780.h>
#include <hd44780ioClass/hd44780_I2Cexp.h>
#include <IRremote.h>
int RECV_PIN = 8; // IR Receiver - Arduino Pin Number 8
IRrecv irrecv(RECV_PIN);
decode_results results;
hd44780_I2Cexp lcd;

void setup() {
// put your setup code here, to run once:
}
void loop() {
// put your main code here, to run repeatedly:

if (irrecv.decode(&results)) {

if (results.value == 0xFF30CF) {
lcd.begin (16, 2);
lcd.setCursor (0, 0);
lcd.print ("2018-02-21");
lcd.print (" ");
delay(100);
}
if (results.value == 0xFF18E7) {
lcd.begin (16, 2);
lcd.setCursor (0, 0);
lcd.print ("BOOM");
delay(10000);
lcd.print (" ");
}
if (results.value == 0xFF7A85) {
lcd.begin (16, 2);
lcd.setCursor (0, 0);
lcd.print ("WOW");
lcd.setCursor (0, 1);
lcd.print ("hello");
delay(10000);
}
if (results.value == 0xFFA25D) {
lcd.begin (16, 2);
lcd.setCursor (0, 0);
lcd.print ("BYE");
lcd.print (" ");
delay(10000);
}

}
}

Look at the IRremote example sketches to see how to properly initialized the library to receive IR codes.
You are not initializing the library before trying to use it.
You must call irrecv.enableIRIn() in setup() to turn on the receiver.

Also, lcd.begin() should only be called once in setup()

--- bill