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

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

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

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

02.04.2014, 12:48. Просмотров 633. Ответов 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)
ток и осталось. В чем разница между конструкторами? Объясните пожалста.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.04.2014, 12:48
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Context немного теории (Программирование Android):

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

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

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

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

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

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

5
Netscape
374 / 361 / 48
Регистрация: 02.10.2009
Сообщений: 712
Записей в блоге: 4
02.04.2014, 13:30 #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();
    }
1
KillAndEat
63 / 63 / 8
Регистрация: 17.05.2013
Сообщений: 286
02.04.2014, 14:33  [ТС] #3
Netscape, вот и я думаю вроде как одно и тоже но не работает. Только не понятно почему не срабатывает преобразование типов.
0
Netscape
374 / 361 / 48
Регистрация: 02.10.2009
Сообщений: 712
Записей в блоге: 4
02.04.2014, 15:26 #4
KillAndEat, ну оно вроде как тут и не должно срабатывать.
Класс Context не в курсе что за метод getSupportFragmentManager и все, также он не в курсе что существует класс Activity, который его наследует.
1
KillAndEat
63 / 63 / 8
Регистрация: 17.05.2013
Сообщений: 286
02.04.2014, 15:29  [ТС] #5
понял. метод принадлежит активити. В таком случае что значит это комбинация?

Java
1
((FragmentActivity)ctx)
ручное преобразование же?
0
Netscape
374 / 361 / 48
Регистрация: 02.10.2009
Сообщений: 712
Записей в блоге: 4
02.04.2014, 15:30 #6
Цитата Сообщение от KillAndEat Посмотреть сообщение
ручное преобразование же?
Да, оно самое.
1
02.04.2014, 15:30
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.04.2014, 15:30
Привет! Вот еще темы с ответами:

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

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