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

Свой layout в качестве параметра адаптера SimpleExpandableListAdapter - Android

Восстановить пароль Регистрация
Другие темы раздела
Android Ошибка INSTALL_FAILED_CONFLICTING_PROVIDER http://www.cyberforum.ru/android-dev/thread1654984.html
Дело вот в чем. Есть 2 проекта, когда на телефоне стоит одно из приложений, то второе уже не ставится, выбрасывает эту ошибку. Провайдеры ни в одном ни во втором не использую.
Android Как поместить Switch в NavigationView? Как поместить Switch в NavigationView? Пробовал поместить в меню NavigationView,но ничего не отображается activity_maps_drawer <?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?> <menu xmlns:android="http://schemas.android.com/apk/res/android"> <group android:checkableBehavior="single"> <Switch android:id="@+id/mySwitch" ... http://www.cyberforum.ru/android-dev/thread1654879.html
Получить качество сети Android
Как можно получить качество сети? т.е. 3G, GPRS, EDGI, WCDMA и т.д...
Поясните про поддержку разных экранов Android
Я туплю или эмулятор глючит ? В genymotion сделал 3 устройства, что бы поиграться разными layout для разных экранов: 1. 480х800 2. 768х1280 3. 1080х1920 И в тестовом проекте сделал 4 папки с layout: layout-small, layout, layout-large и layout-xlarge и запустил приложение на всех эмуляторах. В итоге: 1. 480х800 - вылез обычный layout, все ок 2. 768х1280 - вылез xlayout, тоже все ок 3....
Android Воспроизведение рандомной песни при нажатии на картинку http://www.cyberforum.ru/android-dev/thread1654819.html
вот как это сделать,имея такой код,да еще и когда музыка обрывается через 4 секунды? советовали использовать media.player а не soundpool для долгих звуков так как sound pool для коротких звуков,но я не знаю и не понимаю как переделывать код для него,так как полный ноль в java,помогите пожалуйста :)))))) package com.alex.myapplication; import android.support.v7.app.AppCompatActivity; import...
Android Сдвинуть 3 палочки Navigation drawer по умолчанию 3 палочки для открытия nav drawer находятся в верхнем левом углу(в Tool Barе). Как сместить эти три палочки вправо на несколько dp или вниз?? Ну то есть разместить как мне удобнее. Можете подсказать как это сделать?? Или это невозможно??Как создать дровер с каким мне удобно расположением трех палочек для его открытия?7 подробнее

Показать сообщение отдельно
q0o0p
1 / 1 / 0
Регистрация: 19.03.2014
Сообщений: 22
04.02.2016, 15:51     Свой layout в качестве параметра адаптера SimpleExpandableListAdapter
Добрый день! При изучении андроида в одном из примеров захотелось заменить стандартный элемент на собственный.
Вот неизмененный код урока, который работает:
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
package com.example.anya.lesson45expandablelist;
 
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.ExpandableListView;
import android.widget.SimpleExpandableListAdapter;
 
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;
 
public class MainActivity extends AppCompatActivity
{
    String[] groups = new String[] {"HTC", "Samsung", "LG"};
    String[] phonesHTC = new String[] {"Sensation", "Desire", "Wildfire", "Hero"};
    String[] phonesSams = new String[] {"Galaxy S II", "Galaxy Nexus", "Wave"};
    String[] phonesLG = new String[] {"Optimus", "Optimus Link", "Optimus Black", "Optimus One"};
    // коллекция для групп
    ArrayList<Map<String, String>> groupData;
    // коллекция для элементов одной группы
    ArrayList<Map<String, String>> childDataItem;
    // общая коллекция для коллекций элементов
    ArrayList<ArrayList<Map<String, String>>> childData;
    // в итоге получится childData = ArrayList<childDataItem>
    // список аттрибутов группы или элемента
    Map<String, String> m;
    ExpandableListView elvMain;
 
    @Override
    protected void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
 
        groupData = new ArrayList<Map<String, String>>();
        for (String group : groups) {
            m = new HashMap<String, String>();
            m.put("groupName", group);
            groupData.add(m);
        }
 
        String groupFrom[] = new String[] {"groupName"};
        int groupTo[] = new int [] {android.R.id.text1};
 
        childData = new ArrayList<ArrayList<Map<String, String>>>();
        childDataItem = new ArrayList<Map<String, String>>();
        for (String phone : phonesHTC) {
            m = new HashMap<String, String>();
            m.put("phoneName", phone);
            childDataItem.add(m);
        }
        childData.add(childDataItem);
 
        childDataItem = new ArrayList<Map<String, String>>();
        for (String phone : phonesSams) {
            m = new HashMap<String, String>();
            m.put("phoneName", phone);
            childDataItem.add(m);
        }
        childData.add(childDataItem);
 
        childDataItem = new ArrayList<Map<String, String>>();
        for (String phone : phonesLG) {
            m = new HashMap<String, String>();
            m.put("phoneName", phone);
            childDataItem.add(m);
        }
        childData.add(childDataItem);
 
        String childFrom[] = new String[] {"phoneName"};
        int childTo[] = new int [] {android.R.id.text1};
        SimpleExpandableListAdapter adapter = new SimpleExpandableListAdapter(
                this,
                groupData,
                android.R.layout.simple_expandable_list_item_1,
                groupFrom,
                groupTo,
                childData,
                android.R.layout.simple_list_item_1,
                childFrom,
                childTo);
        elvMain = (ExpandableListView) findViewById(R.id.elvMain);
        elvMain.setAdapter(adapter);
    }
}
Вот код разметки main.xml

XML
1
2
3
4
5
6
7
8
9
10
11
12
<?xml version= "1.0" encoding= "utf-8" ?>
<LinearLayout
    xmlns:android= "http://schemas.android.com/apk/res/android"
    android:layout_width= "fill_parent"
    android:layout_height= "fill_parent"
    android:orientation= "vertical" >
    <ExpandableListView
        android:id= "@+id/elvMain"
        android:layout_width= "match_parent"
        android:layout_height= "wrap_content" >
    </ExpandableListView>
</LinearLayout>
И я хочу заменить android.R.layout.simple_list_item_1 в конструкторе адаптера на свой, другой элемент. То есть, вместо android.R.layout.simple_list_item_1 я пишу R.layout.child_template, чтоб текст потомков был красный.
Вот xml код моего элемента:
XML
1
2
3
4
5
6
7
8
9
10
11
<?xml version="1.0" encoding="utf-8"?>
 
<TextView
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@string/text1"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:textAppearance="?android:attr/textAppearanceListItemSmall"
    android:gravity="center_vertical"
    android:textColor="#FFFF2222"
    android:minHeight="?android:attr/listPreferredItemHeightSmall" />
Текст действительно становится красным [если у этого элемента в xml коде задать какой-то текст]. Но текстовые значения из childFrom теперь не привязываются. И текст пустой. В чем может быть моя ошибка?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 03:04. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru