2016-07-07 5 views
18

私はAndroidアプリケーションで簡単な通知を実装しようとしています。私はこのdeveloper guideAndroidスタジオでandroid.support.v7.app.NotificationCompat.Builderクラスをインポートするには

をrefferingしかし、このエラーメッセージ取得しています:次のコードスニペットの場合

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

Error Message screenshot

:ここ

​​

を私の輸入品は以下のとおりです。

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; 

私は正しいNotificationCompatクラスがインポートされると思います。私は開発のためにAndroid Studio v2.1.2を使用しています。このエラーメッセージで私を助けてください。私はアンドロイドプログラミングとJavaに新しいです。

答えて

22

import android.support.v7.app.NotificationCompat; 

を交換し、これらビルダーメソッドの戻り型はNotificationCompat.Builderのv4のバージョンを返すしています。 v7 NotificationCompat.Builderはv4のバージョンを拡張し、そのメソッドをほとんど継承します。つまり、戻り値の型は変更されません。

ドキュメント:あなたは(NotificationCompat.MediaStyleのサポートのため)v7のバージョンが必要な場合は

、ちょうどそれにキャスト。

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

もしそうでない場合は、インポートをスワップしてv4バージョンを使用してください。

12

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

サポートlib26から27に行くと、少し頭痛がありました。このソリューションはそれを爪 – miroslavign

関連する問題