9

В следующем коде, Eclipse обнаружил ошибку:Проблема с NotificationCompact.Builder и ActionBarSherlock

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

Все работало отлично перед добавлением ActionBarSherlock (следующий this tutorial).

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 
    } 
} 

ответ

21

build() был добавлен в новую редакцию пакета поддержки Android. В зависимости от того, как вы получили и настроили ActionBarSherlock, вы можете использовать более старую версию пакета поддержки Android. Убедитесь, что у вас самый последний загруженный в вашем SDK-менеджере, а затем используйте его android-support-v4.jar как в проекте ActionBarSherlock, так и в вашем основном проекте приложения.

+0

Работы спасибо !! [link] (http://stackoverflow.com/questions/12793722/error-on-add-library-project-in-eclipse) –

+0

>> «android-support-v4.jar как в проекте ActionBarSherlock, так и в вашем основном приложении проект «. Фактически нет. Вам нужно только одно в проекте ActionBarSherlock. –

+0

@DoctororDrive: True. Однако, если старый JAR существует в обоих проектах, замена его только одним приведет к ошибкам сборки. Либо оба проекта нуждаются в одном JAR, либо просто имеют JAR в ActionBarSherlock и не имеют JAR в основном проекте. – CommonsWare

0

сборки() от более старой версии андроида-поддержки-v4.jar

[При использовании ActionBar Sherlock]

1 Обновление Андроид Поддержка библиотеки из SDK

2 Скопируйте и вставьте этот в папку lib/или обновить ссылку на пути

3 Сделайте то же самое с проектом sherlockactionbar. Будьте осторожны, если у вас есть андроид-support2-v4.jar, удалить его и добавить только андроид-поддержка-v4.jar

4 Чистые

Смежные вопросы