0

Select ボタンが押されたときに ScrollLayer にテキストを表示するボタン アクションを実装しようとしています。私が使用した:

scroll_layer_set_click_config_onto_window(scrollLayer, window);

BUTTON_UP および BUTTON_DOWN コールバック関数を自動的に設定する (スクロールする)。それで、BUTTON_SELECT コールバック関数を設定したいと思います。私はこれらの2つの関数を書きました:

//Performs an action whenver the 'select' button is pressed
void select_click_handler(ClickRecognizerRef recognizer, void *ctx) {
    text_layer_set_text(textLayer, "You pressed select");
}

//Links the select button to a function, select_click_handler
void click_config_provider(void *ctx) {
    window_single_click_subscribe(BUTTON_ID_SELECT, select_click_handler);
}

そして、私のイニシャライザには次のものがあります。

void init() {
    window = window_create();
    window_set_window_handlers(window, (WindowHandlers) {
        .load = window_load,
        .unload = window_unload,
    });
    window_set_click_config_provider(window, click_config_provider);
    window_stack_push(window,true);
} 

これを実行すると、問題なくコンパイルされ、時計にインストールされますが、選択ボタンを押しても何も起こりません。コメントアウトするscroll_layer_set_click_config_onto_window(scrollLayer, window); と、想定どおりに機能します。

上記の行をコメントアウトせずに、選択ボタンのコールバックをオーバーライドする方法はありますか?

前もって感謝します!

4

2 に答える 2

1

現在、Pebble の公式ドキュメント (SDK 2.0) で見つけることができます。

ScrollLayer // Pebble 開発者 http://developer.getpebble.com/docs/c/User_Interface/Layers/ScrollLayer/

SELECT ボタンは、scroll_layer_set_callbacks() を使用してクリック構成プロバイダーをインストールすることで構成できます。

于 2015-05-28T00:16:01.280 に答える