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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 13, средняя оценка - 4.62
Stylish2013
7 / 7 / 1
Регистрация: 20.04.2013
Сообщений: 666
#1

ListFragment - своя разметка item - Программирование Android

19.05.2013, 00:23. Просмотров 1691. Ответов 11
Метки нет (Все метки)

А как свою разметку каждого item подсунуть в ListFragment?

Вот как есть сейчас и работает:
Java
1
2
3
4
5
6
7
8
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
setListAdapter(new ArrayAdapter<String>(getActivity(),
android.R.layout.simple_list_item_1, new String[] { " First",
" Second", " Third", " Fourth", " Fifth", " Sixth" }));
getListView().setCacheColorHint(0);
}

а я пытаюсь так:
Java
1
2
3
4
5
6
7
8
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
setListAdapter(new ArrayAdapter<String>(getActivity(),
R.layout.my_item_fragment2, new String[] { " First",
" Second", " Third", " Fourth", " Fifth", " Sixth" }));
getListView().setCacheColorHint(0);
}
но ничего не получается, подчёркивает. Не видит мою разметку.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.05.2013, 00:23     ListFragment - своя разметка item
Посмотрите здесь:
Android ListFragment
ListFragment Android
Android Listfragment Super
ListFragment не получается Android
Android Обновить вид ListFragment
ExpandableListView внутри ListFragment Android
Перевод Activity в ListFragment Android
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
dima koz
23 / 17 / 1
Регистрация: 05.06.2012
Сообщений: 72
Записей в блоге: 5
19.05.2013, 03:30     ListFragment - своя разметка item #2
Цитата Сообщение от Stylish2013 Посмотреть сообщение
А как свою разметку каждого item подсунуть в ListFragment?

Вот как есть сейчас и работает:
Java
1
2
3
4
5
6
7
8
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
setListAdapter(new ArrayAdapter<String>(getActivity(),
android.R.layout.simple_list_item_1, new String[] { " First",
" Second", " Third", " Fourth", " Fifth", " Sixth" }));
getListView().setCacheColorHint(0);
}

а я пытаюсь так:
Java
1
2
3
4
5
6
7
8
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
setListAdapter(new ArrayAdapter<String>(getActivity(),
R.layout.my_item_fragment2, new String[] { " First",
" Second", " Third", " Fourth", " Fifth", " Sixth" }));
getListView().setCacheColorHint(0);
}
но ничего не получается, подчёркивает. Не видит мою разметку.
если не подсвечивается, то, скорее всего, забыли пересобрать проект, выберите project - build project.

для инфы - сама разметка android.R.layout.simple_list_item_1:
Кликните здесь для просмотра всего текста

XML
1
2
3
4
5
6
7
<TextView 
android:id="@android:id/text1" 
android:layout_width="match_parent" 
android:layout_height="?android:attr/listPreferredItemHeight"
android:paddingStart="?android:attr/expandableListPreferredItemPaddingLeft"
android:textAppearance="?android:attr/textAppearanceListItem" 
android:gravity="center_vertical"/>
shurick31
0 / 0 / 0
Регистрация: 03.05.2013
Сообщений: 2
19.05.2013, 09:17     ListFragment - своя разметка item #3
listplaceholder.xml
XML
1
2
3
4
5
6
7
8
9
10
11
12
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">
   
    <ListView
        android:id="@id/android:list"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:drawSelectorOnTop="false" />
 
</LinearLayout>
item.xml
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
<?xml version="1.0" encoding="utf-8"?>
    <TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="match_parent" >
 
        <TableRow
            android:id="@+id/tableRow1"
            android:layout_width="match_parent"
            android:layout_height="wrap_content" >
 
                <TextView
                    android:id="@+id/item_code"
                    android:layout_width="fill_parent"
                    android:layout_height="wrap_content"
                    android:layout_gravity="right"/>
            
                <TextView
                    android:id="@+id/item_title"
                    android:layout_width="fill_parent"
                    android:layout_height="wrap_content" />
    
                <TextView
                    android:id="@+id/item_price"
                    android:layout_width="fill_parent"
                    android:layout_height="wrap_content" />
                 
            
        </TableRow>
    </TableLayout>
код:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
...
public class showgoods extends ListActivity {
     protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.listplaceholder);
// тут объявления переменных, пропустим
........
// тут данные берутся из БД, не суть важно, принцип тот же
// в курсоре есть поля "name", "price", "code" 
                Cursor cursor = db.getAllData("goods");
 
                startManagingCursor(cursor);
    
                String[] from = new String[] { "name", "price", "code" };
                int[] to = new int[] { R.id.item_title, R.id.item_price, R.id.item_code};
                // вот собственно вставляем item.xml в listplaceholder
                SimpleCursorAdapter adapter = new SimpleCursorAdapter(this,R.layout.item, cursor, from, to);
                setListAdapter(adapter);    
......
}
Если класс наследник от android.app.Activity, то можно использовать LayoutInflater
Stylish2013
7 / 7 / 1
Регистрация: 20.04.2013
Сообщений: 666
19.05.2013, 13:17  [ТС]     ListFragment - своя разметка item #4
У меня не (extends ListActivity). У меня (extends FragmentList)
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
19.05.2013, 18:35     ListFragment - своя разметка item #5
может опечатка в названии?
Stylish2013
7 / 7 / 1
Регистрация: 20.04.2013
Сообщений: 666
19.05.2013, 19:12  [ТС]     ListFragment - своя разметка item #6
Цитата Сообщение от V0v1k Посмотреть сообщение
может опечатка в названии?
да, У меня не (extends ListActivity). У меня (extends ListFragment)
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
19.05.2013, 19:15     ListFragment - своя разметка item #7
я имел ввиду что здесь опечатка -> "my_item_fragment2"

Цитата Сообщение от dima koz Посмотреть сообщение
подчёркивает
наведите курсор на подчеркнутое слово.
Stylish2013
7 / 7 / 1
Регистрация: 20.04.2013
Сообщений: 666
19.05.2013, 19:18  [ТС]     ListFragment - своя разметка item #8
Цитата Сообщение от V0v1k Посмотреть сообщение
я имел ввиду что здесь опечатка -> "my_item_fragment2"
нет, не опечатка, оно просто не видит. Как я понял надо использовать Adapter.
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
19.05.2013, 19:21     ListFragment - своя разметка item #9
Цитата Сообщение от Stylish2013 Посмотреть сообщение
оно просто не видит
такого не бывает.
Stylish2013
7 / 7 / 1
Регистрация: 20.04.2013
Сообщений: 666
19.05.2013, 19:36  [ТС]     ListFragment - своя разметка item #10
Цитата Сообщение от V0v1k Посмотреть сообщение
такого не бывает.
писало оно my_item_fragment2 cannot be resolved or is not a field
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
19.05.2013, 19:39     ListFragment - своя разметка item #11
покажите скрин этого лаяута.
выложьте проект.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.05.2013, 19:45     ListFragment - своя разметка item
Еще ссылки по теме:
ListFragment вывод данных (adapter) Android
Как обновить viewpager или listfragment? Android
Боковое меню (Navigation Drawer) в ListFragment Android
Как использовать свою разметку для ListFragment? Android
Android Как с ListFragment передать имя файла чтобы открыть его в другом Активити?

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

Или воспользуйтесь поиском по форуму:
Stylish2013
7 / 7 / 1
Регистрация: 20.04.2013
Сообщений: 666
19.05.2013, 19:45  [ТС]     ListFragment - своя разметка item #12
Цитата Сообщение от V0v1k Посмотреть сообщение
покажите скрин этого лаяута.
выложьте проект.
Уже проект переделал под Adapter.
Yandex
Объявления
19.05.2013, 19:45     ListFragment - своя разметка item
Ответ Создать тему
Опции темы

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