这是一个具体问题,但我仍然发布它...在运行时更改静态变量
我无法在运行时更改静态变量。我的问题是,我不能在运行时更改列表视图中的行数。它适用于下面的代码,但此列表现在是静态的。如果用户想要添加或删除一个项目,则此示例中的列表仍有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。现在它可以工作。也许最好删除这个问题:( – Peter