【发布时间】:2013-05-30 15:37:27
【问题描述】:
这是一个具体的问题,但我还是发布了它......
我无法在运行时更改静态变量。我的问题是我无法在运行时更改列表视图中的行数。它适用于下面的代码,但这个列表现在是静态的。如果用户想要添加或删除一项,此示例中的列表仍然有 5 行。
这些是与节中的项目有关的脚本行:
#include "pebble_os.h"
#include "pebble_app.h"
#include "pebble_fonts.h"
#include "settings.h"
static Window window;
static SimpleMenuLayer menu_layer;
static SimpleMenuSection menu_sections[1];
static SimpleMenuItem menu_section0_items[5];
[..]
void init_settings_window()
[..]
menu_sections[0] = (SimpleMenuSection) {
.title = "Things to buy...",
.items = menu_section0_items,
.num_items = ARRAY_LENGTH(menu_section0_items)
};
API 参考中 SimpleMenuSection 的定义:
struct SimpleMenuSection
Data structure containing the information of a menu section.
Data Fields
const SimpleMenuItem * items Array of items in the section.
uint32_t num_items Number of items in the .items array.
const char * title Title of the section. Optional, leave NULL if unused.
【问题讨论】:
-
我不明白,什么你想在运行时改变什么?
-
我很难解释清楚,抱歉。但我解决了它(希望如此)。在静态 SimpleMenuItem menu_section0_items[5];我可以在一个部分中设置最大项目。在这一行 .items = menu_section0_items 我用一个 uint32_t 变量交换了 menu_section0_items。现在它起作用了。也许最好删除这个问题:(
标签: c pebble-watch