Как вызвать TabActivity getTabHost () из другого действия?чтобы избежать NullPointerException - PullRequest
0 голосов
/ 03 сентября 2011

Я в процессе изучения Android.Хотите реализовать функцию просмотра вкладок;Для этого у меня есть следующее действие

public class CustomList extends ListActivity {
....

and inside this (and other activities I want to put the tabs)

for example:
Resources res = getResources();

   **TabActivity ta = new TabActivity();**
        TabHost host = **ta.getTabHost();**  // this line returns **NullPointerException**

        host.addTab(host.newTabSpec("first")
                .setIndicator("First")
                .setContent(new Intent(this, First.class)));
These lines are included inside OnCreate().

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

Пожалуйста, для предложения, чтобы решить эту проблему.Заранее спасибо.

1 Ответ

0 голосов
/ 03 сентября 2011

Я думаю, что вам нужно иметь несколько действий на одной вкладке.

Чтобы сделать это, вы должны сначала создать действие, которое расширяет TabActivity, и инициализировать его вкладки с действиями, расширяющими TabGroupActivity.

public class BaseActivity extends TabActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);

  addTab("home",home_tab,tab_sales_icons,new Intent(this, TabGroupSalesActivity_.class));
  }
}

public class TabGroupSalesActivity extends TabGroupActivity{
@Override
protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  //Start the first Activity of the group
  Intent newIntent = new Intent(this, Sales_.class);
  newIntent.putExtra("XMLObject",xml);
  startChildActivity(newIntent);
  }
}

Вот ссылка с дополнительной информацией о , как иметь несколько действий в TabActivity

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