4

我有一个 Tizen 磨损应用程序,它由 3 个视图组成,每个视图都被推送到naviframe. 三种观点是:

Genlist_A > 进度条 > Genlist_B

视图的布局由箭头表示。当用户触摸 genlist 项目时,Genlist_AProgressbar显示直到Genlist_B有数据要显示。

此导航效果很好,所有视图都按应有的方式显示。问题在于尝试从Genlist_B返回导航到Genlist_A. 再次导航回Progressbar节目时,查看Genlist_A何时发生这种情况的唯一方法是关闭progressbar.

void _create_progressbar()
{
    Evas_Object *nf = local_ad->naviframe;
    Evas_Object *progressbar;
    Evas_Object *layout;

    layout = elm_layout_add(nf);
    elm_layout_file_set(layout, ELM_DEMO_EDJ, "progessbar");
    evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
    progressbar = elm_progressbar_add(layout);
    elm_object_style_set(progressbar, "process");
    evas_object_size_hint_align_set(progressbar, EVAS_HINT_FILL, EVAS_HINT_FILL);
    evas_object_size_hint_weight_set(progressbar, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
    evas_object_show(progressbar);
    elm_progressbar_pulse(progressbar, EINA_TRUE);
    elm_object_part_content_set(layout, "process", progressbar);
    elm_object_content_set(layout, layout);
    elm_naviframe_item_push(nf, "ProgressBar", NULL, NULL, layout, "empty");
}

上面的代码显示了进度条视图的创建。我在一些elm_naviframe_item_pop_cb_set使用的样本中看到过。我做了同样的事情,当我点击返回时,进度条仍然显示。

nf_it = elm_naviframe_item_push(nf, NULL, NULL, NULL, scroller, "empty");
elm_naviframe_item_pop_cb_set(nf_it, _naviframe_pop_cb, ad->win);

Genlist_B提取数据时如何弹出进度条?

4

1 回答 1

1

更新我找到了解决问题的方法。我在正确的轨道上使用从导航框架中弹出项目

nf_it = elm_naviframe_item_push(nf, NULL, NULL, NULL, scroller, "empty");
elm_naviframe_item_pop_cb_set(nf_it, _naviframe_pop_cb, ad->win);

我所做的改变是在里面_naviframe_pop_cb

static Eina_Bool _naviframe_pop_cb(void *data, Elm_Object_Item *it)
{
    elm_naviframe_item_pop_to(local_ad->startview);
    return EINA_TRUE;
}

它的作用是跳转到标记为的指定导航框架,local_ad->startview而这只是通过设置Elm_Object_Itemgenlist 的内部来简单地设置。

 nf_it = elm_naviframe_item_push(nf, NULL, NULL, NULL, genlist, "empty");

这对我有用。

于 2016-12-05T09:03:09.127 回答