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

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

Войти
Регистрация
Восстановить пароль
 
KillAndEat
63 / 63 / 8
Регистрация: 17.05.2013
Сообщений: 286
#1

Context немного теории - Программирование Android

02.04.2014, 12:48. Просмотров 618. Ответов 5
Метки нет (Все метки)

Вообщем нужно мне было запустить из метода своего класса фрагмент. Вообщем как положено передал в класс контекст все дела.

Java
1
2
3
4
5
6
public Constructor (Context ctx) {
        super(ctx);
        this.ctx = ctx;
ctx.getSupportFragmentManager().beginTransaction()
    .add(R.id.container, frag).commit();
    }
компилятор писал, что getSupportFragmentManager() не существует. тогда заменил все это дело на следующее.

Java
1
2
3
4
5
6
public Constructor (MainActivity mainActivity) {
        super(mainActivity);
        this.ctx = ctx;
mainActivity.getSupportFragmentManager().beginTransaction()
    .add(R.id.container, frag).commit();
    }
тогда ошибка перестала выскакивать.При том что при объявлении класса как было
Java
1
new Constructor(this)
ток и осталось. В чем разница между конструкторами? Объясните пожалста.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.04.2014, 12:48     Context немного теории
Посмотрите здесь:

Подкиньте немного теории по "слушателям" - Программирование Android
Речь идет об actionbar. Я прописал меню в main.xml и код, чтобы при нажатии происходило действие, но оно не происходит. Я вспомнил, что...

Объект Context - Программирование Android
Проблема такая: Я создаю новый класс в отдельном файле для работыSQLite и в нем мне нужен Объект Context, если я наследую Activity ...

Context - ошибка - Программирование Android
Здравствуйте! Программа должна выводить карту из google. Использую Picasso как самое рациональное решение. При импользовании Picasso надо...

Fragment and context - Программирование Android
Есть шерлокбар. Два таба у него. Каждому табу привязан свой фрагмент через tabListener. Хочу чтобы в первом табе...

Программирование Android. Context - Программирование Android
Добрый день! Прошу подсказать, почему в доках...

Аналог context menu - Программирование Android
Всем привет. Я пишу судоку. Проблема в том что при взаимодействии с ячейкой вызывается новое активити(диалога, скрины снизу). И это очень...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Netscape
371 / 358 / 48
Регистрация: 02.10.2009
Сообщений: 712
Записей в блоге: 4
02.04.2014, 13:30     Context немного теории #2
Activity наследует Context, т.е. то что есть в классе Context есть и в классе Activity, но не обратное.
Разницы нет, в обоих случаях передается Activity.
Java
1
2
3
4
5
6
    public Constructor (Context ctx) {
        super(ctx);
        this.ctx = ctx;
        ((FragmentActivity)ctx).getSupportFragmentManager().beginTransaction()
                .add(R.id.container, frag).commit();
    }
KillAndEat
63 / 63 / 8
Регистрация: 17.05.2013
Сообщений: 286
02.04.2014, 14:33  [ТС]     Context немного теории #3
Netscape, вот и я думаю вроде как одно и тоже но не работает. Только не понятно почему не срабатывает преобразование типов.
Netscape
371 / 358 / 48
Регистрация: 02.10.2009
Сообщений: 712
Записей в блоге: 4
02.04.2014, 15:26     Context немного теории #4
KillAndEat, ну оно вроде как тут и не должно срабатывать.
Класс Context не в курсе что за метод getSupportFragmentManager и все, также он не в курсе что существует класс Activity, который его наследует.
KillAndEat
63 / 63 / 8
Регистрация: 17.05.2013
Сообщений: 286
02.04.2014, 15:29  [ТС]     Context немного теории #5
понял. метод принадлежит активити. В таком случае что значит это комбинация?

Java
1
((FragmentActivity)ctx)
ручное преобразование же?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.04.2014, 15:30     Context немного теории
Еще ссылки по теме:

Ошибка при смене Context - Программирование Android
Доброго времени суток! Делаю простую рисовалку. При попытке смены контекста MainActivity с базового на свой (с рисованием) перестают...

Использование Context в других классах - Программирование Android
У меня есть диалоговое окно, в котором я использую список. Требуется считать этот список с документа. Есть метод changeGroup, где...

AsyncTask должен использовать Context - Программирование Android
Добрый день! Мое приложение должно использовать сетевое соединение, вынесенное в отдельный поток. В этом потоке я выполняю POST запрос...

Можно ли так передавать context? - Программирование Android
Не приведет ли это к утечке памяти? public class A{ public static void fileRead(Context context){ FileOutputStream...

Как получить context MainActivity в Service? - Программирование Android
В MainActivity создаю сервис и startService( SER );, как получить context MainActivity в сервисе, чтобы можно было манипулировать view?

Вызов методов Context из статичного контекста - Программирование Android
Столкнулся с тем, что не могу получить содержимое ресурса из созданных классов. К примеру getString() не доступен. Нашел такой вариант...


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

Или воспользуйтесь поиском по форуму:
Netscape
371 / 358 / 48
Регистрация: 02.10.2009
Сообщений: 712
Записей в блоге: 4
02.04.2014, 15:30     Context немного теории #6
Цитата Сообщение от KillAndEat Посмотреть сообщение
ручное преобразование же?
Да, оно самое.
Yandex
Объявления
02.04.2014, 15:30     Context немного теории
Ответ Создать тему
Опции темы

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