先生您好我米將某個應用中,我陷入了一個問題,請大家幫我出焦點領域...如何獲得在一個頁面即時從服務器獲取數據並顯示,在黑莓
現在我的網頁上的數據使用Focusable來突出顯示它們...現在我的要求是,當重點出現在任何數據上時,它應該改變字段,例如:打印出現焦點的名稱..
以下是在頁面上顯示數據的代碼現在正在處理現場更改,我需要單擊標籤字段....
package com.Tally.app;
import com.Tally.screenParams.BankList;
import com.Tally.screenParams.CrDrList;
import com.Tally.screenParams.SearchList;
import net.rim.device.api.system.Display;
import net.rim.device.api.ui.Color;
import net.rim.device.api.ui.DrawStyle;
import net.rim.device.api.ui.Field;
import net.rim.device.api.ui.FieldChangeListener;
import net.rim.device.api.ui.Graphics;
import net.rim.device.api.ui.Manager;
import net.rim.device.api.ui.MenuItem;
import net.rim.device.api.ui.component.Dialog;
import net.rim.device.api.ui.component.LabelField;
import net.rim.device.api.ui.component.Menu;
import net.rim.device.api.ui.container.HorizontalFieldManager;
import net.rim.device.api.ui.container.VerticalFieldManager;
import net.rim.device.api.ui.decor.BackgroundFactory;
public class LowerCreditors extends VerticalFieldManager implements
FieldChangeListener {
// class Lower extends
static LabelField[] CrDrLabels;
public LowerCreditors() throws Exception {
super(VerticalFieldManager.VERTICAL_SCROLL);
CrDrLabels = new LabelField[CrDrList.VendorNameArr.length];
for (int i = 0; i < CrDrLabels.length; i++) {
final int t = i;
VerticalFieldManager hfm = new VerticalFieldManager(USE_ALL_WIDTH) {
protected void sublayout(int Width, int Height) {
// TODO Auto-generated method stub
super.sublayout(Width, Height);
setPositionChild(getField(0), 15, 0);
setPositionChild(getField(1), Display.getWidth()
- getFont().getAdvance(CrDrList.VendorValArr[t])
- 10, 0);
}
};
CrDrLabels[i] = new LabelField(CrDrList.VendorNameArr[i],
LabelField.FOCUSABLE) {
public int getPreferredWidth()
{
return 210; // fix width
}
protected boolean navigationClick(int status, int time) {
fieldChanged(this, 0);
return true;
};
};
LabelField Value = new LabelField(CrDrList.VendorValArr[i]);
hfm.add(CrDrLabels[i]);
hfm.add(Value);
add(hfm);
}
}
protected void paintBackground(Graphics g) {
// TODO Auto-generated method stub
g.setColor(0xB8E0B8);
g.fillRect(0, 0, net.rim.device.api.system.Display.getWidth(),
net.rim.device.api.system.Display.getHeight() + 2000);
g.setColor(Color.BLUE);
super.paintBackground(g);
}
protected void paint(Graphics graphics) {
graphics.setColor(0xB8E0B8);
graphics.fillRect(0, 0, Display.getWidth(), 20);
graphics.setColor(Color.BLACK);
super.paint(graphics);
}
protected void sublayout(int maxWidth, int maxHeight) {
// TODO Auto-generated method stub
setExtent(net.rim.device.api.system.Display.getWidth(),
net.rim.device.api.system.Display.getHeight());
super.sublayout(net.rim.device.api.system.Display.getWidth(),
net.rim.device.api.system.Display.getHeight());
}
public void fieldChanged1(Field field, int context) {
// TODO Auto-generated method stub
}
protected boolean abc(int status, int time) {
navigationClick(1, 1);
Dialog.alert("Called......");
return false;
}
public void fieldChanged(Field field, int context) {
// TODO Auto-generated method stub
for (int i = 0; i < CrDrList.VendorNameArr.length; i++) {
if (field == CrDrLabels[i]) {
String LN = CrDrLabels[i].getText();
// SearchList.cname=cn;
CrDrList.cname1 = LN;
LabelField cname1 = CrDrLabels[i];
System.out.println("cnnnnnnnnnnnnnn : "+ cname1);
CrDrList.selLad = CrDrLabels[i];
System.out.println("Creddddddddddddddrrrrrrr"+CrDrList.selLad);
abc(i, i);
}
}
}
}
waitng答覆..
如果可能的話,請幫我從這個問題OKK對不起.... – 2011-06-17 12:55:29