Loading...
Maryan avatar Maryan 1 Точки

Проблеми с показване на текста във втория фрагмент

Здравейте колеги,

Опитвам се да създам два фрагмента, така че натискането на бутон в първия фрагмент да промени текста във втория фрагмент. Обаче текстът остава непроменен, въпреки че следвам инструкциите от лекцията.

Някой би ли прегледал кода за да провери на какво се дължи това и дали имам някакъв пропуск? Проектът може да се изтегли от този линк:

https://www.dropbox.com/s/bwgrzytsc5bfn7c/FragmentSolution.zip

Благодаря!

Марян

Тагове:
0
Android Development
VladimirAnaniev avatar VladimirAnaniev 54 Точки

Здравей, 

Пуснах проекта ти и всичко си работи както трябва. Не виждам проблем в кода.

0
Maryan avatar Maryan 1 Точки

Здравей Владимир,

Благодаря ти, че отдели време да пуснеш проекта! Оказа се, че този код не работи на симулатор Nexus 5 API 22. Пробвах го с Nexus 5 API 23 и вече е ОК, т.е. получавам текста във втория фрагмент. Колегите да го имат предвид. :-)

Обаче има ли някакви причини да не работи на API 22? Това е малко странно, и все още нямам обяснение за поведението.

Поздрави,

Марян

0
VladimirAnaniev avatar VladimirAnaniev 54 Точки

Здравей,

Поразрових се из документацията и отрких това:

Предполагам, че по-старото устройство очаква горния метод, който подава Activity, а ние му подаваме Context и затова не работи. 

1
Maryan avatar Maryan 1 Точки

Да, сигурно е това. Благодаря!

Марян

 

0
RangelMarinov avatar RangelMarinov 0 Точки

Единият вариант е този, но е deprecated!!!

@Override
public void onAttach(Activity activity) {
    super.onAttach(activity);
    onButtonClicked = (IFragmentButtonClicked)activity;
}

 

Другият е:

@Override
public void onAttach(Context context) {
    super.onAttach(context);

    Activity activity;
    activity = (Activity) context;
    onButtonClicked = (IFragmentButtonClicked)activity;
}
0
ElisavetaRaycheva avatar ElisavetaRaycheva 3 Точки

И аз си направих втората задача, по указания начин и резултата е аналогичен. Пуснах примера ти на телефон с Android 4.1.2,  - не работи, не се променя текста на textview-то във втория фрагмент. Ок deprecated, но това как да го направим за по-стари версии да работи. Някой има ли идея?

0
RangelMarinov avatar RangelMarinov 0 Точки

Аз го тествам на Android 4.2.2 и двата варианта работят. Опита ли втория с кастване на Activity? 

0
ElisavetaRaycheva avatar ElisavetaRaycheva 3 Точки

Получи сe с deprecated варианта, с cast не сработи. Също така без cast и без deprecated варианта като изполвах 

android.support.v4.app.Fragment вместо 
android.app.Fragment сработи.
0
22/09/2016 20:01:53
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.