2015-03-30 4 views
0

я написать простое приложение, в моей деятельности я называю обслуживание с помощью этого метода:
Android службы изменения активности ImageView изображение

protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.newsactivity); 
     Bundle extras = getIntent().getExtras(); 
     value= extras.getString("myid"); 
     Intent intent = new Intent(this, newsservice.class); 
     intent.putExtra("behid", value); 
     startService(intent); 

    } 

и в моей службе выборки URL-адрес изображения с сервера, и я хочу нагрузку это изображение на ImageView активности, мой код обслуживание:

public class newimageService extends Service { 
    String Behid; 
    @Override 
    public int onStartCommand(Intent intent, int flags, int startId) { 
     Behid= intent.getStringExtra("behid"); 

     new HttpAsyncTask().execute("http://sample.org/shownewsimage.aspx"); 
     //in this part show the image into image view 
     this.stopSelf(); 

     return Service.START_FLAG_REDELIVERY; 
    } 
    @Override 
    public IBinder onBind(Intent intent) { 
     return null; 
    } 


, как я могу запустить findViewByid(R.imageView) в этот метод обслуживания?

ответ

-1

Мой первый инстинкт заключается в том, что вместо этого вы должны привязать действие к своей службе и обработать обновление пользовательского интерфейса на своей стороне вместо службы, непосредственно изменяя действие.

Смотреть подробнее здесь: http://developer.android.com/reference/android/app/Service.html#LocalServiceSample

И пример здесь: Example: Communication between Activity and Service using Messaging

2

Вам необходимо установить широковещательный приемник после того, как изображение успешно загружен. Зарегистрируйте широковещательный приемник в вашей деятельности и обновите изображение. Или Вы можете просто создать задачу Async. Нет необходимости создавать сервис.

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