Форум программистов, компьютерный форум, киберфорум
Программирование Android
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.83/48: Рейтинг темы: голосов - 48, средняя оценка - 4.83
7 / 7 / 1
Регистрация: 20.04.2013
Сообщений: 666

Fragment вместо Activity

12.05.2013, 02:59. Показов 10004. Ответов 61
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Использую фрагмент вместо Activity. Но теперь методы не запускаются с фрагментов. Как можно полностью реализовать во фрагменте всё то, что было реализованно с помощью обычного Activity.
Вид метода:
JavaScript
1
2
3
4
5
6
public void logOut() {
        antFPr.access_token = null;
        antFPr.expires = 0;
        antFPr.save(Preferens.this);
        System.out.println("LogOut");
    }
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
12.05.2013, 02:59
Ответы с готовыми решениями:

Activity и Fragment
Всем добрый вечер. Создал приложение новостей с 2 Activity и 1 Adapter. Сейчас решил в проект добавить нижнее меню (Bottom Navigation...

Использование Fragment в Activity
Здравствуйте, делаю модуль для регистрации юзера, она прозодит в несколько этапов, сначала вводится номер, потом личные данные, потом...

Fragment не отображается на Activity
Здравствуйте! Помогите, пожалуйста, разобраться. Суть такая: пользователь проходит упражнение по переводу слова на другой язык, т.е....

61
1162 / 986 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
12.05.2013, 03:09
какие методы?
0
7 / 7 / 1
Регистрация: 20.04.2013
Сообщений: 666
12.05.2013, 03:29  [ТС]
обычные методы. Я просто понять не могу как работать с фрагментами.
У меня была активность там я вызывал методы из других классов, теперь я использую вместо активности fragmet. Но там я немогу запускать методы т.к там такая вещь public class MenuFragment extends ListFragment {. Как же мне нажав на кнопку во фрагменте запустить метод?
0
1162 / 986 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
12.05.2013, 03:46
все точно также, не вижу проблемы.
0
7 / 7 / 1
Регистрация: 20.04.2013
Сообщений: 666
12.05.2013, 03:52  [ТС]
Вот у меня была Activity:

JavaScript
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
public class Prefs extends Activity {
 
    private static final String LOG_TAG = null;
 
    Account account = new Account();
 
    MainLoginActivity mainLog = new MainLoginActivity();
 
    AccountFacebookPrefs accountFPrefs = new AccountFacebookPrefs();
    
    AccountFacebook accountFacebook = new AccountFacebook();
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        requestWindowFeature(Window.FEATURE_NO_TITLE);
        setContentView(R.layout.settings);
 
        Button buttonOut = (Button) findViewById(R.id.buttonSetOutVK);
 
        buttonOut.setOnClickListener(new OnClickListener() {
 
            @Override
            public void onClick(View v) {
 
                logOutVK();
                logOutFB();
                logOutFB2();
                logOutDataBase();
                startActivity(new Intent(Prefs.this,
                        MainLoginActivity.class));
                finish(); 
 
            }
        });
 
    }
 
    public void logOutFB() {
        accountFPrefs.access_token = null;
        accountFPrefs.expires = 0;
        accountFPrefs.save(Prefs.this);
        System.out.println("LogOut Facebook");
    }
    
    public void logOutFB2() {
        accountFacebook.id = null;
        accountFacebook.first_name = null;
        accountFacebook.picture = null;
        accountFacebook.save(Prefs.this);
        System.out.println("LogOut Facebook");
    }
    
    
 
    public void logOutVK() {
 
        // mainLog.api=null;
        account.access_token = null;
        account.user_id = 0;
        account.save(Prefs.this);
 
        System.out.println("QQQQQ access_token " + account.access_token);
        System.out.println("QQQQQ user_id " + account.user_id);
 
    }
 
    public void logOutDataBase() {
 
        DBHelper dbHelper = new DBHelper(this);
        SQLiteDatabase db = dbHelper.getWritableDatabase();
 
        Log.d(LOG_TAG, "--- Clear mytable: ---");
        int clearCount = db.delete("mytable", null, null);
        Log.d(LOG_TAG, "deleted rows count = " + clearCount);
        dbHelper.close();
    }
 
}
а теперь:

JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
public class MenuFragment extends ListFragment {
        
public View onCreateView(LayoutInflater inflater, ViewGroup container,
              Bundle savedInstanceState) {
            View v = inflater.inflate(R.layout.fragment, null);
            
            Button button = (Button) v.findViewById(R.id.Button02_DATAK);
            button.setOnClickListener(new OnClickListener() {
              public void onClick(View v) {
                  
            
                        
                
              }
            });
            
            return v;
          }
}
но написать код я не могу сюда как в Activity. Как мне использовать Fragmets???
0
1162 / 986 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
12.05.2013, 03:56
не понимаю в чем конкретно проблема...
0
7 / 7 / 1
Регистрация: 20.04.2013
Сообщений: 666
12.05.2013, 04:05  [ТС]
Как мне все эти методы

JavaScript
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
public void logOutFB() {
        accountFPrefs.access_token = null;
        accountFPrefs.expires = 0;
        accountFPrefs.save(Prefs.this);
        System.out.println("LogOut Facebook");
    }
    
    public void logOutFB2() {
        accountFacebook.id = null;
        accountFacebook.first_name = null;
        accountFacebook.picture = null;
        accountFacebook.save(Prefs.this);
        System.out.println("LogOut Facebook");
    }
    
    
 
    public void logOutVK() {
 
        // mainLog.api=null;
        account.access_token = null;
        account.user_id = 0;
        account.save(Prefs.this);
 
        System.out.println("QQQQQ access_token " + account.access_token);
        System.out.println("QQQQQ user_id " + account.user_id);
 
    }
 
    public void logOutDataBase() {
 
        DBHelper dbHelper = new DBHelper(this);
        SQLiteDatabase db = dbHelper.getWritableDatabase();
 
        Log.d(LOG_TAG, "--- Clear mytable: ---");
        int clearCount = db.delete("mytable", null, null);
        Log.d(LOG_TAG, "deleted rows count = " + clearCount);
        dbHelper.close();
    }
запустить в классе Fragmets?
0
1162 / 986 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
12.05.2013, 04:08
точно также как в активити.

Добавлено через 30 секунд
формулируйте проблему точнее.
0
7 / 7 / 1
Регистрация: 20.04.2013
Сообщений: 666
12.05.2013, 04:20  [ТС]
Вот что получается:

http://jpg.by/?dm=GNPG

http://jpg.by/?di=GNPG
0
1162 / 986 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
12.05.2013, 04:27
у меня картинки не загружаются.
0
7 / 7 / 1
Регистрация: 20.04.2013
Сообщений: 666
12.05.2013, 04:30  [ТС]
Цитата Сообщение от Stylish2013 Посмотреть сообщение
accountFPrefs.save(Prefs.this);
Цитата Сообщение от Stylish2013 Посмотреть сообщение
accountFacebook.save(Prefs.this);
Цитата Сообщение от Stylish2013 Посмотреть сообщение
account.save(Prefs.this);
в этих строчках кода ошибки (No enclosing instance of the type Prefs is accessible in scope)? подчёркивает Prefs.this
0
1162 / 986 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
12.05.2013, 04:43
Замените Prefs.this на getActivity() и поучите основы Java.
0
7 / 7 / 1
Регистрация: 20.04.2013
Сообщений: 666
12.05.2013, 04:47  [ТС]
спасибо, а как быть с
JavaScript
1
DBHelper dbHelper = new DBHelper(this);
подчёркивает DBHelper, ошибка (DBHelper cannot be resolved to a type)
0
1162 / 986 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
12.05.2013, 04:54
Java
1
DBHelper dbHelper = new DBHelper(getActivity());
0
7 / 7 / 1
Регистрация: 20.04.2013
Сообщений: 666
12.05.2013, 05:02  [ТС]
Цитата Сообщение от V0v1k Посмотреть сообщение
DBHelper dbHelper = new DBHelper(getActivity());
все равно подчеркивает DBHelper и пишет DBHelper cannot be resolved to a type
0
0x5B4C322291BD52AE
 Аватар для c4sp3r
96 / 96 / 0
Регистрация: 04.03.2013
Сообщений: 295
12.05.2013, 13:01
Stylish2013, http://startandroid.ru/ru/urok... cycle.html
0
1162 / 986 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
12.05.2013, 14:34
Цитата Сообщение от Stylish2013 Посмотреть сообщение
все равно подчеркивает DBHelper и пишет DBHelper cannot be resolved to a type
покажите код класса DBHelper.
0
7 / 7 / 1
Регистрация: 20.04.2013
Сообщений: 666
12.05.2013, 15:00  [ТС]
Цитата Сообщение от V0v1k Посмотреть сообщение
покажите код класса DBHelper.
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
class DBHelper extends SQLiteOpenHelper {
 
        public DBHelper(Context context) {
            // конструктор суперкласса
            super(context, "myDB", null, 1);
        }
 
        @Override
        public void onCreate(SQLiteDatabase db) {
            Log.d(LOG_TAG, "--- onCreate database ---");
            // создаем таблицу с полями
            db.execSQL("create table mytable ("
                    + "id integer primary key autoincrement," + "name text"
                    + ");");
        }
 
        @Override
        public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
 
        }
    }
0
1162 / 986 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
12.05.2013, 15:11
должно работать, сделайте скриншот ошибки.

Добавлено через 48 секунд
импорт класса DBHelper есть?
0
7 / 7 / 1
Регистрация: 20.04.2013
Сообщений: 666
12.05.2013, 15:21  [ТС]
Импорт всё есть. У меня класс DBHelper находился в другом классе и пакете и так он его не видит, а когда я копирую класс внутрь моего класса Fragment, то тогда DBHelper ошибки нет.

Это правильно если класс DBHelper должен быть внутри этого класса?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
12.05.2013, 15:21
Помогаю со студенческими работами здесь

Fragment не передаётся в Activity
Приложение для планшета. Учусь, как вложить Fragment в Activity Activity Class "MainActivity" import android.app.Activity import...

Переход с fragment на activity
в проекте 3 фрагмента, в фрагменте есть кнопка, если нажать эту кнопку тебя должно перенести на отдельное активити, вопрос как? прописал в...

Callbeck from Activity to Fragment
При нажатии кнопки в активити должен отрабатывал метод в фрагменте (допустим обновляться вюшка). Как реализовать калбек от активити к...

Вызов fragment из activity
Доброго времени суток ! Есть main где указан navigationDrawler и в файле xml добавлен FrameLayout c id контейнер. Есть fragment1,...

Работа с Fragment и Activity
При создании навигационных кнопок использовала Fragment, для "перелистывания" страниц. Возникла такая проблема. Не могу обратиться к...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru