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

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

Войти
Регистрация
Восстановить пароль
 
kermlin
0 / 0 / 0
Регистрация: 13.08.2013
Сообщений: 16
#1

Как во фрагменты "вставлять" выполнение класса - Программирование Android

29.11.2013, 23:47. Просмотров 385. Ответов 3
Метки нет (Все метки)

Подскажите как во фрагменты вставить выполнение классов?
Например

MainActivity
Кликните здесь для просмотра всего текста

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
ActionBar actionBar = getActionBar();
        actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
        actionBar.setDisplayShowTitleEnabled(false);
 
        Tab tab = actionBar
                .newTab()
                .setText(R.string.orders)
                .setTabListener(
                        new TabListener<Fragment1>(this, "orders",
                                Fragment1.class));
        actionBar.addTab(tab);
 
        tab = actionBar
                .newTab()
                .setText(R.string.clients)
                .setTabListener(
                        new TabListener<Fragment2>(this, "clients",
                                Fragment2.class));
        actionBar.addTab(tab);
        setContentView(R.layout.activity_main);


Fragment1.class
Кликните здесь для просмотра всего текста

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
public class Fragment1 extends Fragment {
 
  @Override
  public void onAttach(Activity activity) {
    super.onAttach(activity);
  }
 
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
 
  }
 
 public View onCreateView(LayoutInflater inflater, ViewGroup container,
      Bundle savedInstanceState) {
    return inflater.inflate(R.layout.fragment1, null);
  }
 
  public void onActivityCreated(Bundle savedInstanceState) {
    super.onActivityCreated(savedInstanceState);
  }

И класс, который надо "выполнять" во фрагменте:
Кликните здесь для просмотра всего текста

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
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
public class ExpandableList3 extends ExpandableListActivity {
    private static final String LOG_TAG = "myLog";
 
    private static final String NAME = "NAME";
    private static final String PHONE = "PHONE";
    private static final String ADRESS = "ADRESS";
    private static final String ORDER_DATE = "ORDER_DATE";
    private static final String KOLVO = "KOLVO";
    private static final String CENA = "CENA";
    private static final String GOODNAME = "GOODNAME";
 
    DB db;
    Cursor c, c2, cPeople, cGoods;
 
    private ExpandableListAdapter mAdapter;
 
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
 
        db = new DB(this);
        db.open();
        Log.d(LOG_TAG, "db open ExpL3");
        c = db.getOrder();
        List<Map<String, String>> groupData = new ArrayList<Map<String, String>>();
        List<List<Map<String, String>>> childData = new ArrayList<List<Map<String, String>>>();
 
        // берем Заказ с курсора с
        if (c.moveToFirst()) {
            do {
                int idColIndex = c.getColumnIndex("people_id");
                Log.d(LOG_TAG, "--- Курсор cPeople (" + idColIndex + ") --- ");
                // Берем данные клиента через курсор cPeople
                cPeople = db.getClientInfo(c.getInt(c
                        .getColumnIndex("people_id")));
                Map<String, String> curGroupMap = new HashMap<String, String>();
                groupData.add(curGroupMap);
                cPeople.moveToFirst();
                curGroupMap.put(
                        NAME,
                        cPeople.getString(cPeople.getColumnIndex("nickname"))
                                + " ("
                                + cPeople.getString(cPeople
                                        .getColumnIndex("name")) + ")");
                curGroupMap.put(PHONE,
                        cPeople.getString(cPeople.getColumnIndex("phone")));
 
                curGroupMap.put(ADRESS,
                        cPeople.getString(cPeople.getColumnIndex("adress")));
                curGroupMap.put(ORDER_DATE,
                        c.getString(c.getColumnIndex("date")));
 
                List<Map<String, String>> children = new ArrayList<Map<String, String>>();
                // c2 - данные по позициям в заказе
                c2 = db.getOrderDetail(c.getInt(c.getColumnIndex("_id")));
 
                if (c2.moveToFirst()) {
                    do {
                        Map<String, String> curChildMap = new HashMap<String, String>();
                        children.add(curChildMap);
                        // Подтягиваем таблицу Товары для вывода наименования
                        cGoods = db.getGoodInfo(c2.getInt(c2
                                .getColumnIndex("good_id")));
                        cGoods.moveToFirst();
                        String quantity = c2.getString(c2
                                .getColumnIndex("kolvo"))
                                + " "
                                + cGoods.getString(cGoods
                                        .getColumnIndex("mera"));
                        curChildMap.put(KOLVO, quantity);
                        curChildMap
                                .put(CENA,
                                        c2.getString(c2.getColumnIndex("cena"))
                                                + "грн");
 
                        curChildMap.put(GOODNAME, cGoods.getString(cGoods
                                .getColumnIndex("goodname")));
 
                    } while (c2.moveToNext());
                }
                childData.add(children);
                cPeople = null;
                cGoods = null;
 
            } while (c.moveToNext());
        }
 
        // Set up our adapter
 
        mAdapter = new SimpleExpandableListAdapter(this, groupData,
                R.layout.group_view, new String[] { NAME, PHONE, ADRESS,
                        ORDER_DATE }, new int[] { R.id.tvName, R.id.tvPhone,
                        R.id.tvAdress, R.id.tvDate }, childData,
                R.layout.child_view, new String[] { GOODNAME, KOLVO, CENA },
                new int[] { R.id.tvGoodName, R.id.tvGood1, R.id.tvGood2 });
 
        setListAdapter(mAdapter);
 
        db.close();
        Log.d(LOG_TAG, "db CLOSE ExpL3");
 
    }
 
 
}

Или вот такой класс выполнить во фрагменте:
Кликните здесь для просмотра всего текста
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
public class PeopleList extends Activity {
    
    final String ATTRIBUTE_NAME_ID = "_id";
    final String ATTRIBUTE_NAME_NAME = "name";
    final String ATTRIBUTE_NAME_NICKNAME = "nickname";
    final String ATTRIBUTE_NAME_CELLPHONE = "phone";
    final String ATTRIBUTE_NAME_ADRESS = "adress";
    final String ATTRIBUTE_NAME_NOTATE = "notate";
    final String LOG_TAG = "myLog";
 
    
    ListView lvSimple;
    DB db;
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.peoplelist);
        
        db = new DB(this);
        db.open();
        Cursor c = db.getClients();
        
        ArrayList<Map<String, Object>> data = new ArrayList<Map<String, Object>>(
                c.getCount());
        Map<String, Object> m;
        
        if (c.moveToFirst()) {
            Log.d(LOG_TAG, "start IF ");
            // определяем номера столбцов по имени в выборке
            int idColIndex = c.getColumnIndex("_id");
            int nameColIndex = c.getColumnIndex("name");
            int nicknameColIndex = c.getColumnIndex("nickname");
            int adressColIndex = c.getColumnIndex("adress");
            int cellphoneColIndex = c.getColumnIndex("phone");
            int notateColIndex = c.getColumnIndex("notates");
            do { 
                Log.d(LOG_TAG, "Read " + c.getString(nameColIndex));
                // получаем значения по номерам столбцов и 
                // упаковываем данные в понятную для адаптера структуру
                m = new HashMap<String, Object>();
                m.put(ATTRIBUTE_NAME_ID, c.getString(idColIndex));
                m.put(ATTRIBUTE_NAME_NAME, c.getString(nameColIndex));
                m.put(ATTRIBUTE_NAME_NICKNAME, c.getString(nicknameColIndex));
                m.put(ATTRIBUTE_NAME_CELLPHONE, c.getString(cellphoneColIndex));
                m.put(ATTRIBUTE_NAME_ADRESS, c.getString(adressColIndex));
                m.put(ATTRIBUTE_NAME_NOTATE, c.getString(notateColIndex));
                data.add(m);
 
                // переход на следующую строку
                // а если следующей нет (текущая - последняя), то false -
                // выходим из цикла
            } while (c.moveToNext());
        } else
            Log.d(LOG_TAG, "0 rows");
        
        
        // массив имен атрибутов, из которых будут читаться данные
        String[] from = { ATTRIBUTE_NAME_ID, ATTRIBUTE_NAME_NAME, ATTRIBUTE_NAME_NICKNAME, ATTRIBUTE_NAME_CELLPHONE,
                ATTRIBUTE_NAME_ADRESS, ATTRIBUTE_NAME_NOTATE };
        
        // массив ID View-компонентов, в которые будут вставлять данные
        int[] to = { R.id.tvId, R.id.tvName, R.id.tvNickName, R.id.tvPhone, R.id.tvAdress, R.id.tvNotate };
        Log.d(LOG_TAG, "before creating adapter ");
        // создаем адаптер
        SimpleAdapter sAdapter = new SimpleAdapter(this, data, R.layout.item_clients,
        from, to);
        
        // определяем список и присваиваем ему адаптер
        Log.d(LOG_TAG, "after creating adapter ");
        lvSimple = (ListView) findViewById(R.id.lvSimple);
        lvSimple.setAdapter(sAdapter);
        
        db.close();
    }
 
    
 
 
}
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.11.2013, 23:47
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Как во фрагменты "вставлять" выполнение класса (Программирование Android):

Как "превратить" string "6.971245e-001" во float? - Программирование Android
Число конечно пример

Как прикрутить "свой браузер" к странице - "фрагмент" - Программирование Android
здравствуйте. все, уже голову сломал. не соображаю совсем. не получается прикрутить код браузера к странице fragments.выводиться должно на-...

Работа с БД, связывание таблиц "фильмы", "жанры", "режиссеры" - Программирование Android
Ребят, всем привет! накидайте какие-нить идеи по реализации ситуация такая есть таблицы - &quot;списки_жанров&quot;, &quot;фильмы&quot;, &quot;режиссеры&quot; мне...

Ошибка "Unknown method "e" of "org.apache.commons.logging.Log" - Программирование Android
Unknown method 'e' of 'org.apache.commons.logging.Log' package com.mycompany.myapp; import android.widget.*; import...

Постепенно вывести на экран слово "Java", в котором буквы состоят из "интересных" элементов - Программирование Android
Я учусь в универе и вот пытаюсь делать лабораторные по языку java, только на свой телефон с помощью android studio )) До этого все...

Выбор платформы разработки "1С Мобильная платформа" или "Android Studio" - Программирование Android
Всем, здравствуйте! Есть задача по разработке клиента для терминала сбора данных. Для использования его c WMS. После долгих раздумий было...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
NiRamz
211 / 211 / 16
Регистрация: 26.12.2010
Сообщений: 691
30.11.2013, 00:31 #2
вы хотите запихнуть активити во фрагмент?)
так не делается и работать не будет, в методе onCreateView делаете вьюху для фрагмента и с ней работаете точно так же, как и в активити
1
kermlin
0 / 0 / 0
Регистрация: 13.08.2013
Сообщений: 16
30.11.2013, 12:18  [ТС] #3
В смысле весь этот кода переписать в классе фрагмента?
Подскажите где почитать про взаимодействие классов - не могу до конца понять и разобраться
0
NiRamz
211 / 211 / 16
Регистрация: 26.12.2010
Сообщений: 691
30.11.2013, 12:50 #4
Цитата Сообщение от kermlin Посмотреть сообщение
В смысле весь этот кода переписать в классе фрагмента?
да. погуглите, очень много материала и на русском языке
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.11.2013, 12:50
Привет! Вот еще темы с ответами:

При эмулировании вместо надписи "Hello world" отображается "android" - Программирование Android
Привет форумчане! Я только-только начинал программировать на андроиде. Поставил среду, все настроил как на google.developers . Когда...

Что означают конструкции "finally" и "throw new"? - Программирование Android
Я с Java уже давно, но с этим столкнулся в первый раз. Объясните, пожалуйста, что означают вот это &quot;finally&quot; и &quot;throw new&quot;. Вот пример...

блокирование кнопок "Home" "Back" - Программирование Android
Доброго времени. собственно вопрос сл. можно ли заблокировать или каким либо образом отключить возможность нажатия пользования кнопок...

Как добавить строку "." в начале в ListView со своим обработчиком - Программирование Android
Я в своей базе данных, на каждый новый каталог, дополнительно добавляю запись со строкой &quot;..&quot;, чтобы можно было переходить в верхний...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
30.11.2013, 12:50
Ответ Создать тему
Опции темы

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