안녕하세요.. 타이젠 초보 개발자 입니다.
(tizen v.2.3.1 wearable native)
naviframe 에 아래 처럼 push 를 하고
void create_main_view() { ... Elm_Object_Item *nf_it = NULL; ... layout = elm_layout_add(ad->nf); Eina_Bool a = elm_layout_file_set(layout, buf, "main_view"); ... nf_it = elm_naviframe_item_push(ad->nf, "main_view", NULL, NULL, layout, NULL); ... }
위와 같이 push를 두번을 더 합니다.(two more push)
그럼 naviframe에 아래 처럼 stack이 쌓일텐데,
(naviframe stack)
main_view2 ----
main_view1 | delete (main_view2 & main_view1)
main_view <---
base
화면에는 보이지만 stack 에는 쌓지 않는 방법이나
main_view2에서 취소키로 main_view2를 지우고 main_view1도 지우고
main_view로 가고 싶으면 어떻하죠?
elm_naviframe_item_pop(ad->nf); 을 하니
현재 화면은 지워지지만 흰화면만 나오네요..(참고로, RECT bg color 255 255 255 255 edc layout)
void create_main_view2(void *user_data) { ... Elm_Object_Item *top_nf_it = elm_naviframe_top_item_get(ad->nf); Evas_Object *obj; obj = elm_naviframe_item_pop(ad->nf); // for main_view1 delete //evas_object_del(obj); // <- 이 함수를 호출해도 동일함 layout = elm_layout_add(ad->nf); sprintf(buf, "%s%s", app_get_resource_path(), "edje/main_view2.edj"); Eina_Bool a = elm_layout_file_set(layout, buf, "main_view2"); evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_show(layout); nf_it = elm_naviframe_item_push(ad->nf, "main_view2", NULL, NULL, layout, NULL); elm_naviframe_item_title_enabled_set(nf_it, EINA_FALSE, EINA_FALSE); }
뭐가 잘못된건지... ㅠㅠ
아시는 분 계시면 답글 부탁드립니다..