Вкладка Android: если контент установлен через намерение, все получают вызов, нужно вызывать одно намерение за раз - PullRequest
0 голосов
/ 15 декабря 2011

У меня есть вкладка Activity MainTab.class, которая расширяет ActivtyGroup. В этом классе я сделал 2 вкладки и установил их содержимое с помощью Intent.

  public class MainTab extends ActivityGroup {

   /** Called when the activity is first created. */
            @Override
    public void onCreate(Bundle savedInstanceState) {

     super.onCreate(savedInstanceState);
     setContentView(R.layout.tab);
     tabs = (TabHost) findViewById(R.id.tabhost);        
     tabs.setup(this.getLocalActivityManager());
     spec = tabs.newTabSpec("tab1");
     Intent intent = new Intent().setClass(this,tab1.class).addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)
     spec.setContent(intent)
    // and so on......

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

На самом деле я делаю взаимодействие с сервером на обеих вкладках, поэтому мое требование: когда пользователь нажимает на вкладку, запрос должен быть запущен на сервер. Однако первая нажатая вкладка должна сработать, когда я вызываю MainTab.class.

1 Ответ

0 голосов
/ 15 декабря 2011

Класс ActivityGroup устарел.Вместо этого вы должны использовать фрагменты , чтобы ваша вкладка достигла интерфейса, подобного вкладке (вот пример ).В любом случае, просто используйте Loader для кода своего сервера.Загрузчик будет запускаться только при отображении вкладки.

Примечание: если вы нацеливаетесь на устройства, которые предварительно соты, вы все равно можете использовать фрагменты и загрузчики с помощью пакета поддержки Android .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...