0

10 個の ListField を持つ Screen クラスがあるとします。

Vector v_prj_title,v_prj_mgr 

// v_prj_title contains name of projects

// v_prj_mgr contains name of the project_manager of  v_prj_title sequentially.

//Vector send_vector

//ListField myList

//ListCallBack callback

//It is clear from the code that in myList, I m inserting a vector send_vector ie  callback.insert(send_vector,i), which contains 2 strings collected one from v_prj_title and other from v_prj_mgr.


for(int i=0;i<10;i++)
{
    myList.insert(i);
    t1 = v_prj_title.elementAt(i).toString();
    send_vector = new Vector(2);
    send_vector.addElement(t1);
    t2 = v_prj_mgr.elementAt(i).toString();
    send_vector.addElement(t2);
    callback.insert(send_vector,i);
}

今、特定の ListField に eventListener を追加する方法が混乱しています。たとえば、3 番目の ListField をクリックすると (これが下に表示されているデータであると仮定します)、ビットマップ画像が 3 番目の ListField に表示され、プロジェクトの名前 (Project_Social_Meeting) が表示されます。 ) と project_manager (Tom Clerk) をデータベース (SQlLite) に挿入する必要があります

1.a. Project_Chat_Master(プロジェクト名)

   b. Vyom Ryan (プロジェクトマネージャー)

2.a. Project_Online_Gaming

   b. ヴィヴェック・ロイ

3. プロジェクト_ソーシャル_ミーティング

   b. トム・クラーク  
      .
      .
      等.....
4

1 に答える 1

1

要件に応じて CustomField/Manager を作成します (画像/文字列/... が含まれる場合があります)。

次に、それらをコールバック メソッドに追加します。

元:


ステップ1

//creating a custom field 
class MYListFieldItem extends Field
{
//@override
paint(graphics g)
{
g.drawbitmap(bitmap,0,0);
g.drawtext(string,bitmap.getwidth()+5<padding>,Math.min(bitmap.getHeight(),getFont().getHeight()));

//@override
layout(....)
{
setExtent(Math.min(width,bitmap.getwidth()+padding+getfont.getadvance(stringtext)),
Math.min(height,Math.min(bitmap.getHeight,getFont().getHeight())));
}
}

step-2: //リスト項目を作成する

MYListFieldItem [] fields[] = new MYListFieldItem [<numOfListItems>];
for(int i=0;i<fields.size;i++)
{
_callback = new MyListFieldCallBack();
_callback.insert(fields[i],i);
}

ステップ-3:

//set listeners
mylistFielditem[i].setchangeListener(new fieldchangeListener(){
fieldChanged(field)
{
//do your action here.
});

//TIP: if the fields are just strings,
//@override
navigationclick()
{
if(status == keypadlistener.status_fourway)
{
MYListFieldItem  fld = (ListField)getLiefFieldwithFocus();
//do your coding 

}
}
于 2012-01-03T12:07:36.313 に答える