9

次のコードで、Eclipseはエラーを検出しました。

The method build() is undefined for the type NotificationCompat.Builder

ActionBarSherlockこのチュートリアルに従って)を追加する前に、すべてが正常に機能しました。

import android.app.Notification;
import android.app.NotificationManager;
import android.app.PendingIntent;
import android.app.TaskStackBuilder;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.support.v4.app.NotificationCompat;

public class NotificationActivity extends BroadcastReceiver {

    NotificationManager nm;

    @Override
    public void onReceive(Context context, Intent intent) {
        nm = (NotificationManager) context
                .getSystemService(Context.NOTIFICATION_SERVICE);
        int notifyID = 1;
        NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(
                context)
                .setSmallIcon(R.drawable.zcicon)
                .setAutoCancel(true)
                .setDefaults(
                        Notification.DEFAULT_SOUND
                                | Notification.DEFAULT_LIGHTS)
                .setTicker("mytitle").setContentTitle("mycontent")
                .setContentText("text, text");
        Intent resultIntent = new Intent(context, CalcareReader.class);
        TaskStackBuilder stackBuilder = TaskStackBuilder.create(context);
        // Adds the back stack for the Intent (but not the Intent itself)
        stackBuilder.addParentStack(MyActivity.class);
        // Adds the Intent that starts the Activity to the top of the stack
        stackBuilder.addNextIntent(resultIntent);
        PendingIntent resultPendingIntent = stackBuilder.getPendingIntent(0,
                PendingIntent.FLAG_UPDATE_CURRENT);
        mBuilder.setContentIntent(resultPendingIntent);

        nm.notify(notifyID, mBuilder.build()); // error here
    }
}
4

2 に答える 2

21

build()Androidサポートパッケージの新しいエディションで追加されました。ActionBarSherlockの入手方法と設定方法によっては、Androidサポートパッケージの古いエディションを使用している場合があります。SDK Managerに最新のものがダウンロードされていることを確認してから、それをandroid-support-v4.jarActionBarSherlockプロジェクトとメインアプリケーションプロジェクトの両方で使用します。

于 2013-03-12T12:44:59.240 に答える
0

build()は古いバージョンのandroid-support-v4.jarからのものです

[ActionBarSherlockを使用している場合]

1SDKからAndroidサポートライブラリを更新します

2これをコピーしてlib/フォルダーに貼り付けるか、パスの参照を更新します

3sherlockactionbarプロジェクトでも同じことを行います。注意してください。android-support2-v4.jarがある場合は、それを削除してandroid-support-v4.jarのみを追加してください。

4きれいにする

于 2014-03-01T19:52:51.963 に答える