コントロールによって自動的に生成された相関関数の説明
一部のコントロールは、関連する関数を自動的に生成します。これらのコントロールによって生成された関連の関数の具体的な説明は次のとおりです。
[!Note] 関数で
XXXX
はコントロールIDを表すため、実際のプロセスから直接交換してください
Button control
static bool onButtonClick_XXXX(ZKButton *pButton) { return false; }
ボタンをクリックすると、関数が呼び出されます。
- パラメータ
ZKButton* pButton
はクリックしてボタンのポインタです。ポインタのメンバ関数を使用してコントロールの一連の作業を行うことができます。このポインタは、グローバル変数mXXXXPtr
が指すオブジェクトと同じオブジェクトです。
- パラメータ
Edit Text control
static void onEditTextChanged_XXXX(const std::string &text) { }
Input boxのテキストが変更されると、システムは自動的にこの関数を呼び出します。
- パラメータ
std::string&text
現在Input boxの完全な文字列です。
- パラメータ
Seek Bar control
static void onProgressChanged_XXXX(ZKSeekBar *pSeekBar, int progress) { }
Seek Barの現在のプログレス値が変更されると、システムは自動的にこの関数を呼び出します。
- パラメータ
ZKSeekBar* pSeekBar
はSeek Barコントロールのポインタであり、ポインタのメンバ関数を使用して、コントロールの一連の作業を行うことができます。 - パラメータ
int progress
は、現在Seek Barのプログラス値です。
- パラメータ
Slide Window control
static void onSlideItemClick_XXXX(ZKSlideWindow *pSlideWindow, int index) { }
Slide Windowコントロールのアイコンをクリックすると、システムが自動的にこの関数を呼び出します。
- パラメータ
ZKSlideWindow* pSlideWindow
はSlide Windowコントロールのポインタであり、ポインタのメンバ関数を使用してコントロールの一連の作業を行うことができます。 - パラメータ
int index
は、現在クリックされたアイコンのIndex値です。たとえば、合計10個のアイコンがSlide Windowに追加された場合Index値の範囲は[0、9]です。
- パラメータ
List control
Listコントロールは、最も複雑なコントロールであり、3つの関連する関数を作成します。多くの機能がありますが、以下の手順に従って、理解することは非常に簡単です。- まず、システムがListコントロールを描画するにはどのように多くの項目があることを知っている。したがって、次のような関連の関数があります。
static int getListItemCount_XXXX(const ZKListView *pListView) { return 0; }
- パラメータ
const ZKListView* pListView
は、グローバル変数mXXXXPtr
と同じオブジェクトを指しているListコントロールのポインタです。 - 戻り値は定数で、List内の項目数を意味し、必要に応じて定義することができます。
- パラメータ
- まず、システムがListコントロールを描画するにはどのように多くの項目があることを知っている。したがって、次のような関連の関数があります。
시システムが描画するアイテムの数を知っても十分ではなく、各項目ごとに表示される内容も知っている。このため、以下の関数が提供され、提供された関数が複数回呼び出され、各項目が処理されるまで、各項目の表示内容を設定します。
void obtainListItemData_XXXX(ZKListView *pListView, ZKListView::ZKListItem *pListItem, int index) { //pListItem->setText(index) }
- パラメータ
ZKListView* pListView
は、グローバル変数mXXXXPtr
と同じオブジェクトを指しているListコントロールのポインタです。 - パラメータ
ZKListView::ZKListItem* pListItem
はList Itemのポインタであり、UIファイルのItem
に対応します。 パラメータ
int index
は全体ListでpListItem
のIndex値であり、特定の範囲があります。例:
getListItemCount_XXXX
関数の戻り値は10であり、これは、Listに10個のItemがあることを意味します。その後、index
の範囲は、pListItem
とindex
を組み合わせて、[0、9]です。今設定したList Itemが全体Listでどこにあるか知ることができます。 この機能では、index
に基づいて、各Listの表示内容を個別に設定することができます。
例:関数でコメントアウトされたステートメントは、次のことを意味します。各List Itemは、そのIndex値をテキストとして表示します。
- パラメータ
Buttonコントロールと同様にListコントロールにもクリックイベントがありますがIndex値を基準に、現在クリックされたList Itemを判断します。
static void onListItemClick_XXXX(ZKListView *pListView, int index, int id) { //LOGD(" onListItemClick_ Listview1 !!!\n"); }
Listコントロールをクリックすると、タッチ座標を使用してList Itemのインデックス番号を計算した後に自動的にこの関数を呼び出します。
パラメータ
ZKListView* pListView
は、グローバル変数mXXXXPtr
と同じオブジェクトを指しているListコントロールのポインタです。パラメータ
int index
は全体Listコントロールで現在クリックされたList ItemのIndex値です。パラメータ
int id
は、現在クリックされたコントロールのIDです。このIDは、[プロパティ]ウィンドウIDとは異なります。これに対するマクロは、Activity.h
ファイルに定義されています。例えば、mainActivity.h
で
このidはList Itemに複数subItemがあるとき、現在クリックされたsubItemを区別するために使用することができます。
例:下の図のようにList Itemに2つのsubItemを追加して、スイッチボタンで画像を追加しました。属性IDは、それぞれSubItem1
とSubItem2
です。SubItem1
をクリックすると、id
とID_MAIN_SubItem1
、ID_MAIN_SubItem2
の関係を判断して、どのスイッチをクリックしたかを確認することができます。サンプルコード :
static void onListItemClick_XXXX(ZKListView *pListView, int index, int id) { //LOGD(" onListItemClick_ Listview1 !!!\n"); switch(id) { case ID_MAIN_SubItem1: //LOGD("Clicked the first subitem of item %d in the list", index); break; case ID_MAIN_SubItem2: //LOGD("Clicked the second subitem of item %d in the list", index); break; } }