コントロールによって自動的に生成された相関関数の説明
一部のコントロールは、関連する関数を自動的に生成します。これらのコントロールによって生成された関連の関数の具体的な説明は次のとおりです。
[!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; } }