2017-09-23 6 views
0

私のEDCレイアウトファイルには1つのテキストフィールドがあり、ボタンをクリックしてそのデータを取得したいとします。私はそれについて何も考えていない。だから、誰かが私を助けますか?TizenのEDCファイルにあるテキストフィールドのデータを取得する方法は?

+0

あなたはEDCレイアウトの関連部分を提供することができますし、(EDCまたはレイアウトを使用して、アプリケーション内のスクリプト内の)テキストデータを取得したいところ。 – LeBlue

答えて

0

コードはレイアウトとボタンexamplesのものです。他の言語バインディング(c、C++、js)の例もあります。

ボタンとレイアウト(ネイティブ)に対応するTizen documentation

テキストファイル"title"とボタンを入れるプレースホルダー/ SWALLOWパート.edcのレイアウトファイル。セットアップするには

collections { 
    group { 
     name: "example/mylayout"; 
     data { 
     item: "title" "Layout Example 01"; 
     } 

     parts { 
     part { 
      name: "example/title"; 
      type: TEXT; 

      description { 
       state: "default" 0.0; 
       color: 0 0 0 255; 
       rel1 { 
        relative: 0.0 0.0; 
        offset: 0 0; 
       } 
       rel2 { 
        relative: 1.0 0.5; 
        offset: -1 -1; 
       } 
       text { 
        text: "bla"; 
        size: 16; 
        font: "sans"; 
        min: 1 1; 
        ellipsis: -1; 
       } 
      } 
     } 
     part { 
      name: "placleholder"; 
      type: SWALLOW; 

      description { 
       state: "default" 0.0; 
       fixed: 1 1; 

       rel1 { 
        relative: 0.0 0.5; 
        offset: 0 0; 
       } 
       rel2 { 
        relative: 1.0 1.0; 
        offset: -1 -1; 
       } 
      } 
     } 
    } 
} 

レイアウト、ボタンを追加し、(私はそれをテストすることはできませんとしてではなく、完全な作業例)を次のようになり、古き良きCで"title"一部のテキストをお読みください。

設定するには、レイアウト:

Evas_Object *win, *bt, *layout; 

    // Create a window (I don't know if this works in tizen like this.) 
    win = elm_win_util_standard_add("layout", "Layout"); 
    elm_win_autodel_set(win, EINA_TRUE); 

    // Adding layout and make it fill the window 
    layout = elm_layout_add(win); 
    evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); 
    elm_win_resize_object_add(win, layout); 

    elm_layout_file_set(layout, "/path/to/layoutfile.edj", "example/mylayout"); 
    evas_object_show(layout); 

ボタンを追加するには:

bt = elm_button_add(layout); 
    elm_object_text_set(bt, "Get the text"); 

    // put the button into the layout 
    elm_object_part_content_set(layout, "placeholder", bt); 

    // add clicked callback to button, pass the layout reference as data pointer 
    evas_object_smart_callback_add(bt, "clicked", _btn_cb, layout); 

ボタンのコールバック:

static void 
_btn_cb(void *data, Evas_Object *btn EINA_UNUSED, void *event_info EINA_UNUSED) 
{ 
    // data pointer is the layout reference 
    Evas_Object *layout = data; 

    // with the layout reference we can get the text of part "title" 
    const char *text = elm_object_part_text_get(layout, "title"); 
} 

コードはレイアウトとボタンexamplesからのものです。他の言語バインディング(c、C++、js)の例もあります。

対応Tizen documentation

関連する問題