-2
首先,请理解我的问题,因为我知道自己有太多与此相关的问题,但对我来说,没有人工作我怎样才能从管理中删除字段黑莓
为什么我不知道,请参阅我的代码。
这是工作
public final class MyScreen extends MainScreen implements FieldChangeListener
{
private combine enter_in;
private manager_s ms , ms_1 ;
private Bitmap img;
LabelField lb_1 , lb_2 , lb_3 ;
public MyScreen()
{
setTitle("MyTitle");
img = Bitmap.getBitmapResource("icon.png");
//Bitmap img_1 = Bitmap.getBitmapResource("icon.png");
enter_in = new combine (Field.FOCUSABLE , img );
enter_in.setChangeListener(this);
ms = new manager_s(0 , 4);
ms.add(enter_in);
lb_1 = new LabelField("Menu") ;
lb_2 = new LabelField("Favorites") ;
lb_3 = new LabelField("Reserved") ;
ms.add(lb_1);
ms.add(lb_2);
ms.add(lb_3);
add(ms);
}
}
,但是当我在执行FieldChangedListener,当时ms.delete(lb_1)
不工作,但delete(ms)
工作,请帮助解决这个问题
public void fieldChanged(Field field, int context)
{
if (field == enter_in)
{
ms.delete(lb_1);
}
}
所以,我我问是否有任何ms.delete(lb_1)不能在MyScreen类下工作的原因。
看,这是我的manager_class里面我是用的,经理(custom_manager)和该经理是通过我的类扩展,添加屏幕
public class manager_s extends Manager
{
int col ;
int w_1 = 20 ;
protected manager_s(long style , int col)
{
super(style);
this.col = col ;
}
protected void sublayout(int width, int height)
{
for (int i = 0 ; i < col ; i ++)
{
Field field = getField (i);
layoutChild(field , 130 , 100);
}
for (int i = 0 ; i < col ; i ++)
{
Field field = getField (i);
setPositionChild (field , w_1 , 20);
w_1 = w_1 + 135 ;
setExtent (width , 200 );
}
}
}
中的字段和错误是INDEX_OUT_OF_BOUND_EXCEPTION,那是我的问题,因为互联网上的每一个人(作为一个资源)都在说删除该字段,但我的情况没有任何工作。
什么是组合和manager_s? – Signare
联合是一个custom_button类,其中我正在创建图像按钮,这是工作正常,但与结合是我的经理,因为它我会提供代码 –
问题是你的班级经理。你创建它为ms = new manager_s(0,4);所以当你删除一个项目时,它的位置被删除。 – Signare