2012-06-06 5 views
1

У меня есть класс под названием TouchImageView extends ImageView, и я обнаруживаю, где пользователь нажимает на него. Если это интересная точка, я хочу вызвать метод на Detailed_Image_Activity, который будет обновлять WebView. Как я могу это достичь?Звоните с точки зрения

Я нашел некоторые идеи об использовании наблюдателя и наблюдаемых, но я не знаю, как это сделать. Я нашел это решение Equivalent of iOS NSNotificationCenter in Android?, но я не могу заставить его работать это

Это мой код в TouchImageView классе ...

switch (event.getAction()) { 
    case MotionEvent.ACTION_DOWN: 
     if(isPointOfInterest) { 
      //The code below is used to update the WebView 
      //The task called below exists in the Detailed_Image_Activity 
      DownloadHighlightBackground HighlightDownloaderTask = new DownloadHighlightBackground(); 
      HighlightDownloaderTask.execute(new String[] { arg1.toString() }); 
     } 
} 
+0

Это потенциально может помочь: http://developer.android.com/reference/android /content/BroadcastReceiver.html – AJcodez

ответ

0

Попробуйте это,

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

((MyActivity)getContext()).method_name(); 
+0

Я думаю, что это будет работать, но мой метод actualy асинхронный класс задач внутри деятельности ... В Detailed_Image_Activity: частный класс DownloadHighlightBackground расширяет AsyncTask { Так что это метод, который я хочу вызов. –

+0

Это решило мою проблему, на самом деле. Я создал метод для создания потока, чтобы обновить то, что мне нужно. Спасибо вам большое (: –

0

Для запуска деятельности Вам необходим доступ к контексту приложения, а затем вы можете вызвать startActivity.

+0

Но активность уже запущена и существует, это проблема. Мне просто нужно вызвать метод. :/ –

+0

Похоже, что вы не делаете что-то правильно, потому что не предполагается, что просто выполняйте действия. Быстрое грязное исправление должно было бы сделать функцию публичной статикой. Если вы не можете сделать это, вам нужно как-то открыть интерфейс. Похоже, что вы можете расширить приложение, потому что вы можете предположить, что он работает. Вы также можете сохранить эти данные в общих предпочтениях и получить доступ к ним в своей программе. Затем вы также сможете настроить слушателей на уведомления, когда они будут изменены. –

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