我正在尝试在黑莓中添加一个自定义窗口,但在此之前我试图在该弹出屏幕中添加一个自定义标签,以满足我可以添加或无法添加的满意。所以当我补充说我面临 IllegalArguementException 错误的问题时,你能告诉我如何解决这个问题。我正在这样做。
看到这是我用来添加弹出窗口的 MYScreen 类。因此,当我单击添加在屏幕中的那个按钮时,就会添加弹出窗口。
public final class MyScreen extends MainScreen implements FieldChangeListener
{
private ButtonField btn;
public MyScreen()
{
setTitle("MyTitle");
btn = new ButtonField ("press");
btn.setChangeListener(this);
add(btn) ;
}
public void fieldChanged(Field field, int context)
{
if ( field == btn )
{
Dialog.inform("hello");
pop_manager manager_object = new pop_manager(0);
UiApplication.getUiApplication().pushScreen( new up_pop_test( manager_object ) );
}
}
}
所以在这个我添加了 new_up_pop_test 类,它是:
public class up_pop_test extends PopupScreen
{
public up_pop_test( pop_manager delegate)
{
super(delegate);
add(delegate);
}
}
pop_manager 是:
public class pop_manager extends Manager
{
protected pop_manager(long style)
{
super(style);
}
protected void sublayout(int w, int h)
{
Field f = getField(0);
layoutChild( f , w/3+w/3 , 50 ) ;
setPositionChild ( f , w/33 + w/33 , w/67+w/104 );
setExtent(w,h);
}
}