Здравствуйте. Есть код, он дает возможность открывать левую шторку и добавляет гамбургер. Нужно сделать что бы шторка была на нескольких активити. Вынес логику в данный класс, необходимые активити унаследовал от этого класса. Появился гамбургер но на нажатия не реагирует. В чем ошибка?
public class Menu extends AppCompatActivity {
private DrawerLayout mDrawerLayout;
private ListView mDrawerListView;
private String[] mCatTitles;
private ActionBarDrawerToggle mDrawerToggle;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_menu);
mDrawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout);
mCatTitles = getResources().getStringArray(R.array.cats_array_ru);
mDrawerListView = (ListView) findViewById(R.id.left_drawer);
// подключим адаптер для списка
ListAdapter adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, mCatTitles);
mDrawerListView.setAdapter(adapter);
mDrawerListView.setOnItemClickListener(new Menu.DrawerItemClickListener());
// Включаем значок у ActionBar для управления выдвижной панелью щелчком
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
getSupportActionBar().setHomeButtonEnabled(true);
// ActionBarDrawerToggle ties together the the proper interactions
// between the sliding drawer and the action bar app icon
mDrawerToggle = new ActionBarDrawerToggle(
this, /* host Activity */
mDrawerLayout, /* DrawerLayout object */
null, /* значок-гамбургер для замены стрелки 'Up' */
R.string.app_name, /* добавьте строку "open drawer" - описание для accessibility */
R.string.app_name /* добавьте "close drawer" - описание для accessibility */
) {
public void onDrawerClosed(View view) {
getSupportActionBar().setTitle(R.string.app_name);
invalidateOptionsMenu(); // creates call to onPrepareOptionsMenu()
}
public void onDrawerOpened(View drawerView) {
getSupportActionBar().setTitle(R.string.app_name);
invalidateOptionsMenu(); // creates call to onPrepareOptionsMenu()
}
};
mDrawerLayout.setDrawerListener(mDrawerToggle);
if (savedInstanceState == null) {
selectItem(0);
}
}
// Слушатель для элементов списка в выдвижной панели
private class DrawerItemClickListener implements ListView.OnItemClickListener {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
selectItem(position);
}
}
private void selectItem(int position) {
if (position == 2) {
Intent intent = new Intent(this, Main2Activity.class);
startActivity(intent);
}
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// The action bar home/up action should open or close the drawer.
// ActionBarDrawerToggle will take care of this.
if (mDrawerToggle.onOptionsItemSelected(item)) {
return true;
}
// Handle action buttons
switch(item.getItemId()) {
case R.id.email:
// create intent to perform web search for this cat
Intent intent = new Intent(Intent.ACTION_WEB_SEARCH);
intent.putExtra(SearchManager.QUERY, getSupportActionBar().getTitle());
// catch event that there's no activity to handle intent
if (intent.resolveActivity(getPackageManager()) != null) {
startActivity(intent);
} else {
Toast.makeText(this, R.string.app_name, Toast.LENGTH_LONG).show();
}
return true;
default:
return super.onOptionsItemSelected(item);
}
}
@Override
protected void onPostCreate(Bundle savedInstanceState) {
super.onPostCreate(savedInstanceState);
// Sync the toggle state after onRestoreInstanceState has occurred.
mDrawerToggle.syncState();
}
}
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Есть связка приложение на java,spring, реализовываю функционал позволяющий из приложения по клику на ссылку документа(
Допустим, есть класс, реализующий некий интерфейсГде лучше писать комментарии к методам: в классе или в интерфейсе, или же и там, и там? Есть...