我想在扩展了FragmentActivity
的活动中设置工具栏toolbar
。我知道使用setSupportActionBar(toolbar)
方法需要扩展AppCompatActivity
而不是FragmentActivity
,但我重写了AppCompatActivity
中被声明为final的onMenuItemSelected(int featureId, MenuItem item)
方法,而final方法无法被覆盖。因此,我只能继续扩展FragmentActivity
。
这是我的代码:
public class MainActivity extends FragmentActivity
{
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Toolbar toolbar = (Toolbar)findViewById(R.id.toolbar);
setSupportActionBar(toolbar); -> error is here
}
@Override
public boolean onCreateOptionsMenu(Menu menu)
{
// Inflate the menu
getMenuInflater().inflate(R.menu.menu_main, menu);
return true;
}
@Override
public boolean onMenuItemSelected(int featureId, MenuItem item) {
switch(item.getItemId()){
case R.id.action_search:
onSearchRequested();
break;
}
return super.onMenuItemSelected(featureId, item);
}
我看到许多与该问题相关的答案,但每个人都说要扩展 AppCompatActivity
而不是 FragmentActivity
,但我想设置工具栏以及重写 onMenuItemSelected(int featureId, MenuItem item)
方法。
我该怎么办,请帮忙。
onOptionsItemSelected
吗? - Shvet