2016-02-23 1 views
0

В моем приложении я использовал библиотеку picasso, но когда я интегрировал свой код, он покажет .invalidate(file) по красному цвет . Как это можно решить?Ошибка Picasso.with(). Invalidate (file): не удается разрешить метод invalidate (java.io.File)

Пожалуйста, найдите код ниже для получения дополнительной справки:

 FutureCallback<File> writeNewFileCallback = new FutureCallback<File>() { 
     @Override 
     public void onCompleted(Exception e, File file) { 
      if (e == null) { // Success 


       Picasso.with(MyApp.this.getActivity()).invalidate(file); 


       Transformation transformation = new  RoundedTransformationBuilder() 
         .scaleType(ImageView.ScaleType.FIT_XY) 
         .borderColor(Color.parseColor("#77e5e5e5")) 
         .borderWidthDp(2) 
         .cornerRadiusDp(15) 
         .oval(false) 
         .build();} 

Когда изменение его:

`Picasso.with(this).invalidate(file);` 

"это" будет неизвестно.

+1

использовать это, чтобы аннулировать свой путь изображения: 'Picasso.with (getActivity()) аннулирует (файл);' – AKSiddique

+0

дубликатом вопрос http://stackoverflow.com/questions/33398792/android-picasso-invalidate-not. -работы – ELITE

ответ

0

Для вызовов, связанных с интерфейсом пользователя, используется контекст Activity.

Смотреть это объяснение по Рето Майер: Using Application context everywhere?

0

Это просто решить. Вобще,

Picasso.with(getApplicationContext()).invalidate(file); 

Метод with() принимает контекст в качестве параметра, положив this отлично работает, когда вы находитесь внутри деятельности.

Но в вашем случае вы используете это внутри анонимного внутреннего класса, поэтому это относится к определенному классу, а не к вашему Контексту.

Надеюсь, это поможет.

+0

Благодарю вас за всех. моя проблема была для моей версии Пикассо. – AndroidDev