添加到编辑框弹出窗口

编程入门 行业动态 更新时间:2024-10-10 05:16:31
本文介绍了添加到编辑框弹出窗口的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

我创建自己的自定义弹出窗口,以现在我想添加一个EditField中,似乎一切都很好,但问题是,我不能写在编辑栏任何

类sveetIt扩展PopupScreen实现FieldChangeListener,DialogClosedListener {    哈希表pitemData;    ButtonField字段sveetNowlabelField;    ButtonField字段sveetLaterlabelField;    WatingScreen watingScreen;    长scheduledTime;    对话updateDialog;    公共sveetIt(){        超级(新MyCustimGridFieldManager());            messageLabelField的LabelField =新的LabelField(请输入您的Sveet消息:Field.FIELD_HCENTER){            保护无效漆(图形图像){                graphics.setColor(Color.YELLOWGREEN);                super.paint(图形);            }        };    EditField中sveetTexteditField =新EditField中(NULL,Sveet消息,50,EditField.FIELD_HCENTER                    | EditField.FIELD_VCENTER                    | EditField.NON_SPELLCHECKABLE | EditField.NO_NEWLINE);        VerticalFieldManager buttonVFManager =新VerticalFieldManager(VerticalFieldManager.FIELD_HCENTER);        Horizo​​ntalFieldManager hfManager =新Horizo​​ntalFieldManager();        sveetNowlabelField =新ButtonField字段(现在Sveet);        sveetLaterlabelField =新ButtonField字段(Sveet后来);        sveetNowlabelField.setChangeListener(本);        sveetLaterlabelField.setChangeListener(本);        加(messageLabelField);        加(sveetTexteditField);        hfManager.add(sveetNowlabelField);        hfManager.add(sveetLaterlabelField);        buttonVFManager.add(hfManager);        加(buttonVFManager);    }    公共布尔isEditable(){        返回true;    }    保护布尔keyChar(字符C,INT的地位,诠释时间){        布尔retVal的= FALSE;        如果(C == Characters.ESCAPE){            。Ui.getUiEngine()popScreen(本);            retVal的= super.keyChar(C,状态,时间);        }        返回retVal的;    }    公共无效fieldChanged(场场,诠释上下文){        如果(sveetNowlabelField ==场){            //这里直接上传启动文件            beginUpload();        }否则如果(sveetLaterlabelField ==场){            //首先拿起时上传            scheduledTime = getScheduleTime();            如果(scheduledTime!= 1L){                //现在开始上传文件                beginUpload();            }    }}    类SubscribingThread扩展StoppableThread {        INT网络= 50;        公共无效的run(){        }    }    公共无效beginUpload(){        尝试{            watingScreen =新WatingScreen(上传Sveet ......);            / *             * UiApplication.getUiApplication()。invokeAndWait(Runnable的新(){             *公共无效的run(){Ui.getUiEngine()pushScreen(watingScreen)。 }             *});             * /            BaseScreen.pushScreen(watingScreen);            线程线程=新主题(新的Runnable(){                公共无效的run(){                    uploadToServer();                }            });            thread.start();            // uploadToServer();        }赶上(例外五){            // TODO自动生成catch块            e.printStackTrace();        } {最后        }    }    私人长期getScheduleTime(){        scheduledTime = 0;        最终的DateTimePicker datePick = DateTimePicker.createInstance();        UiApplication.getUiApplication()。invokeAndWait(Runnable的新(){            公共无效的run(){                // TODO自动生成方法存根                日历currentCalendar = datePick.getDateTime();                datePick.setMinimumDate(currentCalendar);                datePick.doModal();                日历CAL = datePick.getDateTime();                如果(cal.after(currentCalendar)){                    日期日期= cal.getTime();                    Dialog.alert(你选择了与Date.toString +());                    scheduledTime = date.getTime();                }其他{                    Dialog.alert(无效的日期选择);                    scheduledTime = 1L;                }            }        });        的System.out.println(日期以毫秒为:+ scheduledTime);        返回scheduledTime;    }公共无效uploadToServer(){    }公共无效dialogClosed(对话为arg0,ARG1 INT){    }}类MyCustimGridFieldManager扩展了VerticalFieldManager {    公共MyCustimGridFieldManager(){        超(VERTICAL_SCROLL | USE_ALL_WIDTH | FIELD_HCENTER);    }    保护无效漆(图形克){        super.paint(克);    }}

解决方案

尝试添加 Field.EDITABLE 你的风格的EditField中。

I have created my own custom popup screen to which now I am trying to add a editfield , everything seems to be fine but the problem is that I am not able to write anything in the edit field

class sveetIt extends PopupScreen implements FieldChangeListener, DialogClosedListener { Hashtable pitemData; ButtonField sveetNowlabelField; ButtonField sveetLaterlabelField; WatingScreen watingScreen; long scheduledTime; Dialog updateDialog; public sveetIt() { super(new MyCustimGridFieldManager()); LabelField messageLabelField = new LabelField("Enter your Sveet Message:",Field.FIELD_HCENTER) { protected void paint(Graphics graphics) { graphics.setColor(Color.YELLOWGREEN); super.paint(graphics); } }; EditField sveetTexteditField= new EditField(null, "Sveet Message", 50, EditField.FIELD_HCENTER | EditField.FIELD_VCENTER | EditField.NON_SPELLCHECKABLE | EditField.NO_NEWLINE); VerticalFieldManager buttonVFManager = new VerticalFieldManager(VerticalFieldManager.FIELD_HCENTER); HorizontalFieldManager hfManager = new HorizontalFieldManager(); sveetNowlabelField = new ButtonField("Sveet Now"); sveetLaterlabelField = new ButtonField("Sveet Later"); sveetNowlabelField.setChangeListener(this); sveetLaterlabelField.setChangeListener(this); add(messageLabelField); add(sveetTexteditField); hfManager.add(sveetNowlabelField); hfManager.add(sveetLaterlabelField); buttonVFManager.add(hfManager); add(buttonVFManager); } public boolean isEditable() { return true; } protected boolean keyChar(char c, int status, int time) { boolean retVal = false; if (c == Characters.ESCAPE) { Ui.getUiEngine().popScreen(this); retVal = super.keyChar(c, status, time); } return retVal; } public void fieldChanged(Field field, int context) { if (sveetNowlabelField == field) { //Here directly starts uploading file beginUpload(); } else if (sveetLaterlabelField == field) { // first picks up time when to upload scheduledTime = getScheduleTime(); if(scheduledTime!=1L) { //now begins uploading file beginUpload(); } }} class SubscribingThread extends StoppableThread { int network = 50; public void run() { } } public void beginUpload() { try { watingScreen = new WatingScreen("Uploading Sveet..."); /* * UiApplication.getUiApplication().invokeAndWait( new Runnable() { * public void run() { Ui.getUiEngine().pushScreen(watingScreen); } * }); */ BaseScreen.pushScreen(watingScreen); Thread thread = new Thread(new Runnable() { public void run() { uploadToServer(); } }); thread.start(); // uploadToServer(); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } finally { } } private long getScheduleTime() { scheduledTime = 0; final DateTimePicker datePick = DateTimePicker.createInstance(); UiApplication.getUiApplication().invokeAndWait(new Runnable() { public void run() { // TODO Auto-generated method stub Calendar currentCalendar = datePick.getDateTime(); datePick.setMinimumDate(currentCalendar); datePick.doModal(); Calendar cal = datePick.getDateTime(); if (cal.after(currentCalendar)) { Date date = cal.getTime(); Dialog.alert("You selected " + date.toString()); scheduledTime = date.getTime(); } else { Dialog.alert("Invalid date selection"); scheduledTime = 1L; } } }); System.out.println("date in MilliSeconds is:" + scheduledTime); return scheduledTime; } public void uploadToServer() { } public void dialogClosed(Dialog arg0, int arg1) { } } class MyCustimGridFieldManager extends VerticalFieldManager { public MyCustimGridFieldManager() { super(VERTICAL_SCROLL | USE_ALL_WIDTH | FIELD_HCENTER); } protected void paint(Graphics gr) { super.paint(gr); } }

解决方案

Try adding Field.EDITABLE to your style for the EditField.

更多推荐

添加到编辑框弹出窗口

本文发布于:2023-08-06 11:27:31,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1311969.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:弹出窗口   编辑

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!