Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
Jungle
0 / 0 / 0
Регистрация: 06.04.2015
Сообщений: 16
Записей в блоге: 1
#1

Navigation Drawer

15.04.2015, 20:04. Просмотров 625. Ответов 3
Метки нет (Все метки)

помогите найти ошибку.
код главного активити
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
package ua.com.cls;
 
import android.annotation.SuppressLint;
import android.app.Activity;
import android.app.FragmentManager;
import android.content.res.Configuration;
import android.os.Bundle;
import android.support.v4.app.ActionBarDrawerToggle;
import android.support.v4.app.Fragment;
import android.support.v4.view.GravityCompat;
import android.support.v4.widget.DrawerLayout;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.ListView;
 
import java.util.Locale;
 
public class MainActivity extends Activity {
    
    private DrawerLayout  mDrawerLayout;
    private ListView mDrawerList;
    private ActionBarDrawerToggle mDrawerToggle;
    
    private CharSequence mTitleDrawer;
    private CharSequence mTitle;
    private String[] mTitleDrawerString;
 
    @SuppressLint("NewApi")
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);      
        mTitleDrawer = mTitle = getTitle();     
        mTitleDrawerString = getResources().getStringArray(R.array.dawer_list);     
        mDrawerLayout = (DrawerLayout) this.findViewById(R.id.drawer_layout);
        mDrawerLayout.setDrawerShadow(R.drawable.drawer_shadow, GravityCompat.START);
        mDrawerList = (ListView) this.findViewById(R.id.drawe_list_view);
        mDrawerList.setAdapter(new ArrayAdapter<String>(
            this,  R.layout.drawer_list_item,
            mTitleDrawerString)); 
        mDrawerList.setOnClickListener((OnClickListener) new DrawerClickListener());
/* 
getActionBar() возвращает null
*/
        getActionBar().setDisplayHomeAsUpEnabled(true);
        getActionBar().setHomeButtonEnabled(true);
    
        mDrawerToggle = new ActionBarDrawerToggle(
                this,                 
                mDrawerLayout,         
                R.drawable.ic_drawer,  
                R.string.drawer_open,  
                R.string.drawer_close){
            public void onDrawerClosed(View view) {
                getActionBar().setTitle(mTitle);
                invalidateOptionsMenu(); // creates call to onPrepareOptionsMenu()
            }
 
            public void onDrawerOpened(View drawerView) {
                getActionBar().setTitle(mTitleDrawer);
                invalidateOptionsMenu(); // creates call to onPrepareOptionsMenu()
            }           
        };
        mDrawerLayout.setDrawerListener(mDrawerToggle);
        if (savedInstanceState == null) {
        }
    }   
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        MenuInflater inflater = getMenuInflater();
        inflater.inflate(R.menu.menu, menu);
        return super.onCreateOptionsMenu(menu);
    }
    
    private class DrawerClickListener implements ListView.OnItemClickListener{
        @Override
        public void onItemClick(AdapterView<?> parent, View view, int position,
                long id) {
        android.app.Fragment fragment = new MainFragment();
        FragmentManager fragmentManager = getFragmentManager();
        fragmentManager.beginTransaction().replace(R.id.content_frame, fragment).commit();
        }           
    }   
}
манифест
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="ua.com.cls"
    android:versionCode="1"
    android:versionName="1.0" >
 
    <uses-sdk
        android:minSdkVersion="11"
        android:targetSdkVersion="22" />
 
    <application        
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppBaseTheme" >
        <activity
            android:name=".MainActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
 
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>
</manifest>
разметка главного активити
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<android.support.v4.widget.DrawerLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/drawer_layout"
    android:layout_width="match_parent"
    android:layout_height="match_parent">    
    <FrameLayout
        android:id="@+id/content_frame"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />   
    <ListView
        android:id="@+id/drawe_list_view"
        android:layout_width="240dp"
        android:layout_height="match_parent"
        android:layout_gravity="start"
        android:choiceMode="singleChoice"
        android:divider="@android:color/transparent"
        android:dividerHeight="0dp"
        android:background="#111"/>
</android.support.v4.widget.DrawerLayout>
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.04.2015, 20:04
Ответы с готовыми решениями:

Navigation Drawer
Пытаюсь разобраться с Navigation Drawer. Делаю по гайду...

Navigation drawer
Скажите, как сделать так чтобы при открытии другого activity, navigation drawer можно было так же...

Navigation drawer
Как так подключить navigation drawer чтобы он был доступен не в одном а во всех или в нескольких...

Navigation Drawer
Всем привет. Подскажите в чем может быть проблема. Создал Navigation Drawer по этому примеру....

Navigation Drawer - ошибка
Возникает ошибка при установке drawerListener public class MainActivity extends Activity {...

3
fgtmenow
75 / 75 / 7
Регистрация: 29.03.2012
Сообщений: 257
16.04.2015, 00:51 #2
а может лог покажешь хотя бы? или ванговать надо?
0
Rube
911 / 559 / 88
Регистрация: 13.02.2014
Сообщений: 2,074
16.04.2015, 09:14 #3
Лучший ответ Сообщение было отмечено Jungle как решение

Решение

Может наследоваться от ActionBarActivity?
1
Jungle
0 / 0 / 0
Регистрация: 06.04.2015
Сообщений: 16
Записей в блоге: 1
16.04.2015, 15:32  [ТС] #4
fgtmenow, Я закоментил с пояснением строчку в коде где выскакивало исключение

Добавлено через 3 минуты
Rube, Спасибо, но я уже решил проблему кардинально иным путем
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.04.2015, 15:32

Drawer Navigation and MenuItem
Добрый вечер. Вот такая проблема возникла. Вот в MainActivity есть Выдвижное меню(Drawer...

Стилизация Navigation Drawer
Приложение вылетает при открытии, если применяю свой xml-файл для стилизации. Пробую стандартный...

Добавление navigation drawer
Привет, есть приложение со множеством активити... нужно запихнуть в него navigation drawer c...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru