2015-02-27 2 views
32

Как мне получить setSupportActionBar(Toolbar toolbar) внутри FragmentActivity? я не могу получить доступ к нему в FragmentActivity"setSupportActionBar (панель инструментов)" внутри FragmentActivity?

toolbar = (Toolbar) findViewById(R.id.search_bar); 
setSupportActionBar(toolbar); 
+0

необходимость расширения ActionBarActivity вместо FragmentActivity –

+0

Может быть, это не вариант. У меня есть необходимость FragmentActivity и Toolbar в том же самом действии. – chaoskreator

ответ

1

Использования Этих методов вашей активность необходимости расширения ActionBarActivity вместо FragmentActivity

toolbar = (Toolbar) findViewById(R.id.search_bar); 
setSupportActionBar(toolbar); 

Надеется, что это помогает

+1

Я хочу, чтобы Customized ToolBar был в Map ... Так что если я использую ActionBarActivity App Crashes. –

0

Для 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); 
+0

Я относительно положителен, что OP ничего не сказал о вкладках ... – chaoskreator

8

Использование ActionBarActivity из библиотеки поддержки, ActionBarActivity расширяет FragmentActivity, так что вы можете получить SupportFragmentManager и установить панель инструментов, как ActionBar

Ex:

public class MainActivity extends ActionBarActivity 
{ 

Toolbar toolbar = (Toolbar) findViewById(R.id.search_bar); 
setSupportActionBar(toolbar); 

FragmentManager manager=this.getSupportFragmentManager(); 
} 
+4

С последней версией библиотеки поддержки следует использовать 'AppCompatActivity' – Zapnologica

20

С последней версией библиотеки поддержки вы должны сделать ваш Продолжительность действия AppCompatActivity как ActionBarActivity устарела.

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

+2

использовать this => ((AppCompatActivity) getActivity()). SetSupportActionBar (панель инструментов); –

+0

@RajanMaurya, к моему пониманию, это то же самое, что просто вызвать 'setSupportActionBar (панель инструментов);' – Zapnologica

2

Если ваш класс расширяет FragmentActivity

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

(Toolbar) findViewById(R.id.toolbar)

2

Если вы хотите, чтобы ваши ViewPager для добавления фрагментов, вы можете расширить AppCompatActivity, он также работает. (Часто мы расширяем FragmentActivity, но после этого setSupportActionBar (панель инструментов) не работает) Итак, мы можем продлить AppCompatActivity вместо продолжения FragmentActivity.

+1

Это должен быть комментарий, а не ответ –

5

Расширьте свой класс AppCompatActivity с AppCompatActivity extends FragmentActivity внутренне. Также ActionBarActivity лишен.

0

Вместо использования использование setSupportActionBar setActionBar Eg:

android.widget.Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);  
setActionBar(toolbar); 
Смежные вопросы