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

Программирование Android

Войти
Регистрация
Восстановить пароль
 
qdhtnsoyndtr
5 / 5 / 1
Регистрация: 29.11.2013
Сообщений: 466
#1

Как вывести объекты списком? - Программирование Android

15.06.2016, 21:08. Просмотров 318. Ответов 6
Метки нет (Все метки)

В XML расположил все объекты вертикально. Но при компиляции многие объекты, которые в низу не выводятся, по идее должен появиться скрул (Я так думаю), но он не появляется. Подскажите в какой объект поместить все остальные объекты, что бы их можно было прокручивать в списке.
Заранее спасибо.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.06.2016, 21:08     Как вывести объекты списком?
Посмотрите здесь:

Как праивильно отрисовывать объекты? - Программирование Android
Здравствуйте! Имеется просьтенькая спрайтовая игра. Как выполняю отприсовку: 1. Рисую белый фон 2. Рисую спрайты ...

Как правильно создавать объекты ? - Программирование Android
Как правильно создавать объекты и как они расходуют память, что является правильным подходом? вариант 1: public class...

Как получить объекты записные в TableRow? - Программирование Android
Добавляю несколько TextView в TableRow, теперь нужно достать TextView для прочтения текста с него. Как к достать массив объектов...

Как перебрать объекты разного класса - Программирование Android
Делаю игру. Там есть монстры. Будет класс Enemy и несколько дочерних классов Monstr1 extends Enemy, Monstr2 extends Enemy.. и т.д... ...

Как сделать AlertDialog со списком с цветными строками? - Программирование Android
Вопрос новичка. Собственно subj. Есть список из десятка ЦВЕТОВ, которые нужно выбирать из списка. Из выпадающего списка или по нажатию...

Динамические объекты на экране - Программирование Android
Каким образом можно перемещать View-элементы по экрану телефона? то есть есть какие то обьекты на экране, причем это не канвас, это View....

ListView со списком файлов - Программирование Android
Подскажите, пожалуйста, как решить такую вот задачу. Задача: в папке /data/data/com.companyname.appname/files лежат файлы (с текстом...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Alexvp
107 / 71 / 8
Регистрация: 03.08.2014
Сообщений: 344
15.06.2016, 22:25     Как вывести объекты списком? #2
ListView
Frozik6k
12 / 12 / 7
Регистрация: 04.04.2016
Сообщений: 50
18.06.2016, 08:11     Как вывести объекты списком? #3
ScrollView
Pablito
2419 / 1864 / 583
Регистрация: 12.05.2014
Сообщений: 6,604
Завершенные тесты: 1
18.06.2016, 09:38     Как вывести объекты списком? #4
RecyclerView
NanoDroid
0 / 0 / 1
Регистрация: 16.06.2016
Сообщений: 12
18.06.2016, 17:32     Как вывести объекты списком? #5
Если у Вас какой-то небольшой список однообразных элементов (например TextView), то ListView или RecyclerView. Если большой, динамичный список, то лучше RecyclerView, а если Вам нужен не список а длинный интерфейс (как страницы приложений в Google Play), вставьте все элементы в ScrollView.
qdhtnsoyndtr
5 / 5 / 1
Регистрация: 29.11.2013
Сообщений: 466
19.06.2016, 15:42  [ТС]     Как вывести объекты списком? #6
Ну вот у меня все объекты которые есть.
В RecyclerView у меня выводятся элементы, и выставляю высоту по количеству объектов и тогда верхний RecyclerView вытесняет все объекты которые под ним, и ничего не прокручивается. Хотя в нем 1 не большой объект и есть место для остальных.

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
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
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:paddingTop="5dp"
    android:paddingBottom="5dp">
 
    <!--Понедельник-->
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/monday"
            android:textSize="10pt"
            android:layout_gravity="top|center_horizontal"
            android:textColor="@color/colorBlack"
            android:gravity="center_horizontal" />
 
    <android.support.v7.widget.RecyclerView
        android:layout_width="match_parent"
        android:layout_height="70dp"
        android:id="@+id/recycleRaspView" />
 
 
    <!--Вторник-->
 
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/tuesday"
            android:textSize="10pt"
            android:layout_gravity="top|center_horizontal"
            android:textColor="@color/colorBlack"
            android:gravity="center_horizontal" />
 
    <android.support.v7.widget.RecyclerView
        android:layout_width="match_parent"
        android:layout_height="69dp"
        android:id="@+id/recycleRaspTuesdayView" />
 
 
    <!--Среда-->
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/wednesday"
            android:textSize="10pt"
            android:layout_gravity="top|center_horizontal"
            android:textColor="@color/colorBlack"
            android:gravity="center_horizontal" />
 
    <android.support.v7.widget.RecyclerView
        android:layout_width="match_parent"
        android:layout_height="70dp"
        android:id="@+id/recycleRaspWednesdayView" />
 
    <!--Четверг-->
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="center_horizontal"
        android:gravity="center_horizontal">
 
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/thursday"
            android:textSize="10pt"
            android:layout_gravity="top|center_horizontal"
            android:textColor="@color/colorBlack"
            android:gravity="center_horizontal" />
    </LinearLayout>
 
    <android.support.v7.widget.RecyclerView
        android:layout_width="match_parent"
        android:layout_height="38dp"
        android:id="@+id/recycleRaspThursdayView" />
 
 
    <!--Пятница-->
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="center_horizontal"
        android:gravity="center_horizontal">
 
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/friday"
            android:textSize="10pt"
            android:layout_gravity="top|center_horizontal"
            android:textColor="@color/colorBlack"
            android:gravity="center_horizontal" />
    </LinearLayout>
 
    <android.support.v7.widget.RecyclerView
        android:layout_width="match_parent"
        android:layout_height="44dp"
        android:id="@+id/recycleRaspFridayView" />
 
    <!--Суббота-->
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="center_horizontal"
        android:gravity="center_horizontal">
 
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/saturday"
            android:textSize="10pt"
            android:layout_gravity="top|center_horizontal"
            android:textColor="@color/colorBlack"
            android:gravity="center_horizontal" />
    </LinearLayout>
 
    <android.support.v7.widget.RecyclerView
        android:layout_width="match_parent"
        android:layout_height="45dp"
        android:id="@+id/recycleRaspSaturdayView" />
 
    <!--Воскресенье-->
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="center_horizontal"
        android:gravity="center_horizontal">
 
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/sunday"
            android:textSize="10pt"
            android:layout_gravity="bottom|center_horizontal"
            android:textColor="@color/colorBlack"
            android:gravity="center_horizontal" />
    </LinearLayout>
 
    <android.support.v7.widget.RecyclerView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/recycleRaspSundayView" />
 
</LinearLayout>
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.06.2016, 16:14     Как вывести объекты списком?
Еще ссылки по теме:

Создание AlertDialog со списком - Программирование Android
Доброе утро форумчане, мне нужно выполнить несложное задание. Если есть у каво свободное время, я буду очень благодарен если вы мне...

Кнопка с выпадающим списком - Программирование Android
Здравствуйте возник такой вопрос. как сделать кнопку с выпадающим списком. точнее как overflow в action бар только для своей кнопки. ...

Разметка и вывод списком - Программирование Android
Вот пытаюсь вывести на экран списком подобие расписания, но вот сама разметка подводит. Для вывода использую RecyclerView, и когда на...

Пустить объекты в два ряда - Программирование Android
Все ношусь со своей детской игрой - кликать по шарикам нужного цвета. Нашел учебный пример в сети - там каждый объект появляется...

SurfaceView Canvas нужно ли хранить все отрисовываемые объекты? - Программирование Android
Здравствуйте! Вот код моего активити: public class CanvasActivity extends Activity { @Override protected void...


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

Или воспользуйтесь поиском по форуму:
NanoDroid
0 / 0 / 1
Регистрация: 16.06.2016
Сообщений: 12
20.06.2016, 16:14     Как вывести объекты списком? #7
Что-то Вы намудрили в своем XML Вам нужен только один RecyclerView.

Упростим главный layout и назовем my_activity.xml:
Кликните здесь для просмотра всего текста
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:paddingTop="5dp"
    android:paddingBottom="5dp">
 
    <android.support.v7.widget.RecyclerView
        android:layout_width="match_parent"
        android:layout_height="70dp"
        android:id="@+id/recycleRaspView" />
<LinearLayout />


Вот этот кусок надо вытащить в отдельный файл (назовем my_item.xml):
Кликните здесь для просмотра всего текста
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="center_horizontal"
        android:gravity="center_horizontal">
 
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            <!--android:text="@string/thursday" Не нужно. Текст будем ставить программно -->
            android:textSize="10pt"
            android:layout_gravity="top|center_horizontal"
            android:textColor="@color/colorBlack"
            android:gravity="center_horizontal" />
</LinearLayout>


Строки я бы положил в <string-array /> (создается Android resource file в папку values):
Кликните здесь для просмотра всего текста
XML
1
2
3
4
5
6
7
8
9
10
11
12
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string-array name="daysOfWeek">
    <item>Monday</item>
    <item>Tuesday</item>
    <item>Wednesday</item>
    <item>Thursday</item>
    <item>Friday</item>
    <item>Saturday</item>
    <item>Sunday</item>
</string-array />
</resources>


Примерно такой код в Активити (немного переделал гугловский пример под ваши нужды):
Кликните здесь для просмотра всего текста
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
public class MyActivity extends Activity {
    private RecyclerView mRecyclerView;
    private RecyclerView.Adapter mAdapter;
    private RecyclerView.LayoutManager mLayoutManager;
 
    private String[] myDataset;
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.my_activity);
 
        myDataset = getResourses().getStringArray(R.array.daysOfWeek);
 
        mRecyclerView = (RecyclerView) findViewById(R.id.recyclerRaspView);
 
        // use this setting to improve performance if you know that changes
        // in content do not change the layout size of the RecyclerView
        mRecyclerView.setHasFixedSize(true);
 
        // use a linear layout manager
        mLayoutManager = new LinearLayoutManager(this);
        mRecyclerView.setLayoutManager(mLayoutManager);
 
        // specify an adapter (see also next example)
        mAdapter = new MyAdapter(myDataset);
        mRecyclerView.setAdapter(mAdapter);
    }
}
 
public class MyAdapter extends RecyclerView.Adapter<MyAdapter.ViewHolder> {
    private String[] mDataset;
 
    // Provide a reference to the views for each data item
    // Complex data items may need more than one view per item, and
    // you provide access to all the views for a data item in a view holder
    public static class ViewHolder extends RecyclerView.ViewHolder {
        // each data item is just a string in this case
        public TextView mTextView;
        public ViewHolder(TextView v) {
            super(v);
            mTextView = v;
        }
    }
 
    // Provide a suitable constructor (depends on the kind of dataset)
    public MyAdapter(String[] _myDataset) {
        mDataset = _myDataset;
    }
 
    // Create new views (invoked by the layout manager)
    @Override
    public MyAdapter.ViewHolder onCreateViewHolder(ViewGroup parent,
                                                   int viewType) {
        // create a new view
        View v = LayoutInflater.from(parent.getContext())
                               .inflate(R.layout.my_item, parent, false);
        // set the view's size, margins, paddings and layout parameters
        //...
        ViewHolder vh = new ViewHolder((TextView ) v);
        return vh;
    }
 
    // Replace the contents of a view (invoked by the layout manager)
    @Override
    public void onBindViewHolder(ViewHolder holder, int position) {
        // - get element from your dataset at this position
        // - replace the contents of the view with that element
        holder.mTextView.setText(mDataset[position]);
 
    }
 
    // Return the size of your dataset (invoked by the layout manager)
    @Override
    public int getItemCount() {
        return mDataset.length;
    }
}


Android docs: CardView
Yandex
Объявления
20.06.2016, 16:14     Как вывести объекты списком?
Ответ Создать тему
Опции темы

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