先生您好我米将某个应用中,我陷入了一个问题,请大家帮我出焦点领域...如何获得在一个页面即时从服务器获取数据并显示,在黑莓
现在我的网页上的数据使用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