Запуск намерения вне действия

1

У меня есть задача asynch с моим приложением, которое идет на сайт, захватывает результаты из API и добавляет несколько кликабельных текстовых просмотров в существующий LinearLayout.

Однако я хочу иметь возможность запускать новое действие при щелчке по тексту. Это невозможно с классом asynch, определенным в отдельном файле, было бы легче определить его как встроенный класс в рамках действия?

Теги:
android-intent

3 ответа

3
Лучший ответ

Вы всегда можете передать контекст вашему классу async.

Лучшим подходом было бы иметь обратные вызовы (слушатели) в вызывающем классе для асинхронного вызова.

  • 0
    Это, вероятно, лучшее решение проблемы. Однако я немного обманул и выделил класс в рамках деятельности.
1

Один из подходов состоит в том, чтобы раздуть ваши текстовые элементы из XML файла, который объявляет атрибут onClick, именования метода, определенного в вашей деятельности.

0

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

 public void function(Activity act)
 {
   Intent intent = new Intent(act, newActivity.class);
   act.startActivity(intent);
 }

Или перегрузите конструктор, чтобы принять действие в качестве параметра. Но я настоятельно рекомендую вам проверить код. Если вы вызываете какое-либо действие, вы, вероятно, должны быть в другом, вы не согласны? Но, я знаю, что иногда нам приходится делать несколько уступок, чтобы все работало правильно. Поэтому используйте его с умом.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню