Форум программистов, компьютерный форум CyberForum.ru

Добавление navigation drawer - Программирование Android

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Программирование Android Как оптимизировать ListviewAdapter чтобы не было разрывов при скроллинге http://www.cyberforum.ru/android-dev/thread1705844.html
Есть адаптер из него не удалось сделать плавный скроллин . Мой ListviewAdapter public class ListViewAdapter extends BaseAdapter { static class ViewHolder { TextView theme; TextView contacts;
Программирование Android Как отправлять get, post запрос а затем обработать в формате json? Как на android srudio отправить post, ger запрос, затем обработать ответ в формате json http://www.cyberforum.ru/android-dev/thread1705832.html
Программирование Android Программно включить запись телефонного звонка
Есть ли способ программно включить стандартную записи разговора ? Иле есть какие то библиотеки которые могут записывать разговор? Поделитесь опытом)
Программирование Android Парсинг сайта и кодировка
Добрый день. Начала изучать вопрос парсинга страниц, наткнулась на тему на хабрена тему на хабре Сделала, вроде, все правильно, но никак не могу разобраться с кодировкой страниц. Вместо русских букв получаю ромбики с вопросами. Пробовала указать кодировку UTF-8 и Windows-1251 -не помогло. Прикладываю код классов и скрин экрана. Ради примера взята ветка этого форума. import...
Программирование Android выделить область http://www.cyberforum.ru/android-dev/thread1705335.html
подскажите, можно ли выделить область на лаяуте, и вывода сообщения выше него? допустим нужна область размером 10 на 10, далее при клике на эту область, выше него появлялся текст (сообщение), так же при клике убиралась сообщение. в инете искал информацию не нашел, или же не так задавал запрос для поиска
Программирование Android Отображение текста (из файла) в textView В общем не могу разобраться как сделать так что бы при нажатии на кнопку (Button) в компоненте textView отображался текст, который будет храниться в файле Среда разработки Android Studio подробнее

Показать сообщение отдельно
urayatsko
15 / 15 / 8
Регистрация: 08.04.2015
Сообщений: 36
07.04.2016, 23:16     Добавление navigation drawer
Здравствуте, если кратко вам нужно создать свой ArrayAdapter, связать его из view, потом в добавить в него данные, и в конце добавить его к drawer. Тепер наглядно.

Так как вам нужно что бы было только текст и картинка то созданим класс который добавим у наш адаптер, и потом свяжем из View.

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
public class MenuItem {
    private  String title;
    private int imageId;
 
    public String getTitle() {
        return title;
    }
 
    public void setTitle(String title) {
        this.title = title;
    }
 
    public int getImageId() {
        return imageId;
    }
 
    public void setImageId(int imageId) {
        this.imageId = imageId;
    }
}
Передаем в адаптер наш созданый класс. У адаптере мы создаем MenuHolder для привязки к View.

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
 public class MyAdapter extends ArrayAdapter<MenuItem> {
 
        private int resource;
        private List<MenuItem> data;
        private Context context;
        private MenuHolder menuHolder;
 
        public MyAdapter(Context context, int resource, Context context1) {
            super(context, resource);
            context = context1;
        }
 
        public MyAdapter(Context context, int resource, List<MenuItem> data) {
            super(context, resource, data);
            this.context = context;
            this.resource = resource;
            this.data = data;
        }
 
        @Override
        public View getView(int position, View convertView, ViewGroup parent) {
            if(convertView==null){
                LayoutInflater layoutInflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
                convertView = layoutInflater.inflate(resource,parent,false);
 
                menuHolder = new MenuHolder();
             
                 /*Перед привязкой нужно создать layout в котором будет ImageView и TextView что бы мы могли показыват данные(Layout ниже)*/
                menuHolder.menuItemImg = (ImageView) convertView.findViewById(R.id.menuItemImg);
                menuHolder.menuItemTitle = (TextView) convertView.findViewById(R.id.menuItemTitle);
                convertView.setTag(menuHolder);
            }else {
                menuHolder = (MenuHolder) convertView.getTag();
            }
 
            MenuItem menuItem = data.get(position);
            if(menuItem!=null){
                menuHolder.menuItemImg.setImageResource(menuItem.getImageId());
                menuHolder.menuItemTitle.setText(menuItem.getTitle());
            }
 
            return convertView;
        }
        /*Создаем класс для привзяки данных из View*/
        public class MenuHolder {
            ImageView menuItemImg;
            TextView menuItemTitle;
        }
    }
menu_item.xml
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="horizontal" android:layout_width="match_parent"
    android:layout_height="match_parent">
 
    <ImageView
        android:layout_width="50dp"
        android:layout_height="50dp"
        android:id="@+id/menuItemImg" />
 
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textAppearance="?android:attr/textAppearanceMedium"
        android:text="Medium Text"
        android:id="@+id/menuItemTitle" />
</LinearLayout>
Осталось все настроить в нашем activity, для этого сначала в методе onCreate создадим наш список елементов, которые будут отображатся.Я не муду копировать ваш код, просто напишу что нужно добавить к нему.

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
        /****************************/
 
 
        List<MenuItem> menuItems = new ArrayList<>();
        
        /*Создам только один элемент, для наглядности, но вы можете создавать обэкты сколько вам угодно*/
        MenuItem menuItem = new MenuItem();
        menuItem.setImageId(R.mipmap.ic_launcher);
        menuItem.setTitle("test");
        menuItems.add(menuItem);
         
        /*Проинициализуем наш адаптер*/
        MyAdapter myAdapter = new MyAdapter(this,R.layout.menu_item,menuItems);
 
       /*После этого добавим его в ListView*/
       mDrawerList.setAdapter(myAdapter);
 
 
     /**************/
Ну вот и все, будут вопросы, пишите.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru