2016-07-07 13 views
18

Sto cercando di implementare notifiche semplici nella mia app per Android. Sto reffering questo developer guideCome importare la classe android.support.v7.app.NotificationCompat.Builder in Android Studio

Ma ottenere questo messaggio di errore:

Incompatible types. 
Required: android.support.v7app.NotificationCompat.Builder 
Found: android.support.v4.app.Notification.Compat.Builder 

Error Message screenshot

Per il seguente frammento di codice:

NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(this) 
         .setSmallIcon(R.drawable.ic_launcher) 
         .setContentTitle("My notification") 
         .setContentText("Hello World!"); 

Qui sono le mie importazioni:

import android.content.Intent; 
import android.support.v7.app.AppCompatActivity; 
import android.os.Bundle; 
import android.support.v7.app.NotificationCompat; 
import android.view.View; 
import android.widget.Button; 

penso che il corretto NotificationCompat classe è importato. Sto usando Android Studio v2.1.2 per lo sviluppo. Per favore aiutami con questo messaggio di errore. Sono nuovo di programmazione Android e Java.

risposta

22

Il tipo di ritorno di quei metodi costruttori stanno tornando alla versione v4 di NotificationCompat.Builder. Il v7 NotificationCompat.Builder estende la versione v4 e in gran parte eredita solo i metodi da esso, il che significa che i tipi restituiti non cambiano.

Documentazione:

Se avete bisogno della versione v7 (per il supporto di NotificationCompat.MediaStyle), appena gettato ad esso.

NotificationCompat.Builder mBuilder = (android.support.v7.app.NotificationCompat.Builder) new NotificationCompat.Builder(this) 
        .setSmallIcon(R.drawable.ic_launcher) 
        .setContentTitle("My notification") 
        .setContentText("Hello World!"); 

In caso contrario, scambiare le importazioni per utilizzare la versione v4.

12

Sostituire

import android.support.v7.app.NotificationCompat; 

con

import android.support.v4.app.NotificationCompat; 
+0

Passando dal supporto da 26 a 27 questo ha causato un po 'di mal di testa. Questa soluzione lo inchioda – miroslavign

Problemi correlati