FragmentActivity
内でsetSupportActionBar(Toolbar toolbar)
にアクセスするにはどうすればよいですか? FragmentActivity
内ではアクセスできません
toolbar = (Toolbar) findViewById(R.id.search_bar);
setSupportActionBar( toolbar);
サポートライブラリの最新バージョンでは、AppCompatActivity
が廃止されているため、アクティビティをActionBarActivity
に拡張する必要があります。
ActionBarActivityが以前と同じ機能を提供します。さらに変更を加える必要はありません。
内部でAppCompatActivity extends FragmentActivity
以降のAppCompatActivity
でクラスを拡張します。 ActionBarActivity
も廃止されました。
サポートライブラリのActionBarActivityを使用すると、ActionBarActivityがFragmentActivityを拡張するため、SupportFragmentManagerを取得し、ツールバーをアクションバーとして設定できます。
例:
public class MainActivity extends ActionBarActivity
{
Toolbar toolbar = (Toolbar) findViewById(R.id.search_bar);
setSupportActionBar( toolbar);
FragmentManager manager=this.getSupportFragmentManager();
}
AppCompatActivity
はFragmentActivity
を拡張します
public class AppCompatActivity extends FragmentActivity implements AppCompatCallback, SupportParentable, DelegateProvider
代わりにAppCompatActivity
を使用できます
クラスがFragmentActivity
を拡張する場合
ツールバーが使用したレイアウト内にある場合、デフォルトで設定されます。アクセスするには
(Toolbar) findViewById(R.id.toolbar)
このメソッドをアクティビティに使用しますFragmentActivityではなくActionBarActivityを拡張する必要があります
toolbar = (Toolbar) findViewById(R.id.search_bar);
setSupportActionBar( toolbar);
それが役に立てば幸い
ViewPager
でフラグメントを追加する場合は、AppCompatActivity
を拡張できます。これも機能します。 (多くの場合、FragmentActivity
を拡張しますが、その後setSupportActionBar
(toolbar)は機能しません)したがって、AppCompatActivity
を拡張する代わりにFragmentActivity
を拡張できます。
FragmenrtActivity
については、FragmentTabHost
を調べ、タブを簡単に追加する必要があります。
tab = (FragmentTabHost)findViewById(Android.R.id.tabhost);
tab.setup(this, getSupportFragmentManager(), Android.R.id.tabcontent);
tab.addTab(tabs.newTabSpec("tab1").setIndicator("TAB1"), tab1.class, null);