通知を表示するのにLWUIT 1.5タブを使用しています。私は3つのTabs
があり、私はPHPのWebサービスから通知を取得します。最初にTab
の通知リストを正常に取得しました。しかし、2次Tabs
のために私はその第二/第三Tab
がクリックされた検出LWUIT 1.5タブクリックイベントをキャプチャし、サーバーからコンテンツを取り出し、選択したタブに表示する方法は?
- に書き込む必要がありますどのようなコードを理解するために失敗しています。
Button
にcommandListener
を追加する方法を知っています。Tab
を選択すると、commandListener
はありますか? サーバーから新しいデータを受信したときに
Tab
の内容を更新するにはどうすればよいですか?プライベートボイドshowNotificationList(){
try { Form f = new Form("Notifications"); f.setScrollable(false); f.setLayout(new BorderLayout()); final List list = new List(getNotifications()); //gets hashtables - notices list.setRenderer(new GenericListCellRenderer(createGenericRendererContainer(), createGenericRendererContainer())); list.setSmoothScrolling(true); //System.out.println("adding list component to listview"); list.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent evt) { int i = list.getSelectedIndex(); noticeDetailsForm(notices[i]); //Dialog. show("title", notices[i].toString(), "ok", "exitt"); } }); //Container c2 = new Container(new BoxLayout(BoxLayout.Y_AXIS)); //c2.addComponent(list); Tabs tabs = new Tabs(Tabs.TOP); tabs.addTab("Recent", list); tabs.addTab("Urgent", new Label("urgent goes here")); tabs.addTab("Favourites", new Label("favs goes here")); //f.addComponent(tabs); f.addComponent(BorderLayout.CENTER, tabs); Command backComm = new Command("Back") { public void actionPerformed(ActionEvent ev) { Dashboard.dbInstance.setUpDashboard(); } }; f.addCommand(backComm); //System.out.println("showing lsit form"); f.show(); } catch (Exception ex) { ex.printStackTrace(); }
}
private Container createGenericRendererContainer() throws IOException { //System.out.println("container called"); //System.out.println("container called"); Container c = new Container(new BorderLayout()); c.setUIID("ListRenderer"); Label xname = new Label(""); Label description = new Label(); Label focus = new Label(""); Container cnt = new Container(new BoxLayout(BoxLayout.Y_AXIS)); xname.setName("Name"); xname.getStyle().setBgTransparency(0); xname.getStyle().setFont(Font.createSystemFont(Font.FACE_SYSTEM, Font.STYLE_BOLD, Font.SIZE_MEDIUM)); //description.setFocusable(true); description.setName("Description"); cnt.addComponent(xname); cnt.addComponent(description); c.addComponent(BorderLayout.CENTER, cnt); Button thumb = new Button(Image.createImage("/res/home-work.png")); //Image img = Image.createImage("/res/home-work.png"); c.addComponent(BorderLayout.WEST, thumb); return c;
}
プライベートハッシュテーブル[] getNotifications(){ INT合計= notices.length。 //System.out.println(total); Hashtable []データ=新しいHashtable [合計]。 // Hashtable [] data =新しいHashtable [5]; /data [0] = new Hashtable(); データ[0] .put( "Name"、 "Shai"); データ[0] .put( "姓"、 "Almog"); データ[0] .put( "Selected"、Boolean.TRUE);/
for (int i = 0; i < total; i++) { data[i] = new Hashtable(); //System.out.println(notices[i].getName()); data[i].put("Name", notices[i].getName()); data[i].put("Description", notices[i].getDescription()); data[i].put("Id", Integer.toString(notices[i].getId())); } return data;
}