java-forum.org
JBoss Seam
Alter Preis: 39,95 €
Jetzt: 0,00 €

zzgl. Versandkosten

Zurück   java-forum.org > Java - Programmierung > Mobile Geräte

Mobile Geräte J2ME, Android

Antwort    
Themen-Optionen Thema durchsuchen Ansicht
Alt 04.03.2010, 15:13   #1 (permalink)
Benutzer
Byte
 
Registriert seit: 26.10.2009
Beiträge: 40
Abgegebene Danke: 11
Erhielt 0 Danke für 0 Beiträge
Standard Über ChoiceGroup neuen Screen öffnen?

Hallo Leute,

ich bräuchte da mal ne kleine Hilfe.

Ich habe eine ChoiceGroup, in der ich z.B. 3 Auswahlen habe.

Wenn ich nun eine anklicke möchte ich, das sich ein neuer screen öffnet.
Wenn ich dort dann auf Back gehe, möchte ich wieder bei der ChoiceGroup sein.

Ich weiß leider nicht genau wie ich das anstellen soll.

Wär toll wenn mir jemand helfen kann.
Wenn ihr irgendwie nen Quellcode braucht sagt bitte bescheid.

Gruß
Stefan
MC_Basstard ist offline  
Bei Google nach dem markiertem Wort suchen Bei Wikipedia nach dem markiertem Wort suchen Im Forum nach dem markiertem Wort suchen
Mit Zitat antworten
Alt 04.03.2010, 16:23   #2 (permalink)
Stammbenutzer
Kilobyte
 
Registriert seit: 08.12.2006
Beiträge: 460
Abgegebene Danke: 0
Erhielt 58 Danke für 56 Beiträge
Kannst z.B. ein CardLayout nehmen und je nach dem was ausgewählt wurde auf die entsprechende Card wechseln. Alle Cards haben einen Backbutton (oder ein gemeinsamen in einem anderen Panel) der wieder auf Card 1 mit den Auswahlbuttons wechselt.

Whoops - ist ja J2ME... Sorry, hab nichts weiter gesagt
__________________
Hi, my name is not Lance and i'm not an addict!

Geändert von fassy (04.03.2010 um 17:11 Uhr)
fassy ist offline  
Bei Google nach dem markiertem Wort suchen Bei Wikipedia nach dem markiertem Wort suchen Im Forum nach dem markiertem Wort suchen
Mit Zitat antworten
Alt 06.03.2010, 12:46   #3 (permalink)
Benutzer
Byte
 
Registriert seit: 25.10.2006
Beiträge: 85
Abgegebene Danke: 3
Erhielt 2 Danke für 2 Beiträge
Du kannst das ganze über den CommandListener Steuern.
Machst dir einfach einen OKCommand und BackCOmmand

hier mal ein Beispiel:

Java Code: Quelltext in neuem Fenster öffnen
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
import javax.microedition.lcdui.Choice;
import javax.microedition.lcdui.ChoiceGroup;
import javax.microedition.lcdui.Command;
import javax.microedition.lcdui.CommandListener;
import javax.microedition.lcdui.Display;
import javax.microedition.lcdui.Displayable;
import javax.microedition.lcdui.Form;
import javax.microedition.midlet.*;
 
/**
 * @author Florian
 */
public class meinMID extends MIDlet implements CommandListener {
 
    ChoiceGroup cg;
    Form frm, einsFrm, zweiFrm, dreiFrm; //verschiedene Forms
    Command okCmd; //Command zum Bestätigen der Auswahl
    Command backCmd; //Command zum Zurückspringen
 
    public meinMID() {
        cg=new ChoiceGroup("Auswahl:",Choice.EXCLUSIVE);
        cg.append("eins",null);
        cg.append("zwei",null);
        cg.append("drei",null);
 
        okCmd = new Command("OK",Command.OK,1);
        backCmd = new Command("Back",Command.BACK,1);
 
        //Hauptform
        frm = new Form("Choice Group Demo");
        frm.addCommand(okCmd);
        frm.append(cg);  //ChoiceGroup Anhängen
        frm.setCommandListener(this);
 
        //Nebenforms
        einsFrm = new Form("Form Eins");
        einsFrm.addCommand(backCmd);
        einsFrm.setCommandListener(this);
 
        zweiFrm = new Form("Form Zwei");
        zweiFrm.addCommand(backCmd);
        zweiFrm.setCommandListener(this);
 
        dreiFrm = new Form("Form Drei");
        dreiFrm.addCommand(backCmd);
        dreiFrm.setCommandListener(this);
    }
 
    //Standart MIDlet Methoden
    public void startApp() {
        Display.getDisplay(this).setCurrent(frm);
    }
 
    public void pauseApp() {}
 
    public void destroyApp(boolean unconditional) {}
 
    //Listener
    public void commandAction(Command c, Displayable d) {
        //Für das Hauptmneu
        if (d == frm) {
            if (c == okCmd) {
                //Wenn Ok gedrückt wurde soll in das entsprechende Fenster
                //gewechselt werden
                if(cg.isSelected(0)){ //Eins wurde ausgewählt
                    Display.getDisplay(this).setCurrent(einsFrm);
                }else if(cg.isSelected(1)){ //Zwei wurde ausgewählt
                    Display.getDisplay(this).setCurrent(zweiFrm);
                }else if(cg.isSelected(2)){ //Drei wurde ausgewählt
                    Display.getDisplay(this).setCurrent(dreiFrm);
                }
            }
        }
 
        if(d == einsFrm){
            if(c == backCmd){
                Display.getDisplay(this).setCurrent(frm); //Zurückspringen zum Hauptfenster
            }
        }
 
        if(d == zweiFrm){
            if(c == backCmd){
                Display.getDisplay(this).setCurrent(frm); //Zurückspringen zum Hauptfenster
            }
        }
 
        if(d == dreiFrm){
            if(c == backCmd){
                Display.getDisplay(this).setCurrent(frm); //Zurückspringen zum Hauptfenster
            }
        }
    }
 
 
}

dafür musst du jedoch wissen auf welchen Screen du zurückspringen willst.
gut beim zurückspringen müsste man in diesem fall nicht immer vorher d abfragen und könnte alles zusammenfassen.
aber so find ichs schöner

und ich würds eher über eine List machen, aber ich weiss ja nicht genau was du da vor hat

mfG Florian Weinhold
florian1x ist offline  
Bei Google nach dem markiertem Wort suchen Bei Wikipedia nach dem markiertem Wort suchen Im Forum nach dem markiertem Wort suchen
Mit Zitat antworten
Danke sagt:
MC_Basstard (08.03.2010)
Alt 08.03.2010, 08:50   #4 (permalink)
Benutzer
Byte
Themenstarter
 
Registriert seit: 26.10.2009
Beiträge: 40
Abgegebene Danke: 11
Erhielt 0 Danke für 0 Beiträge
Geil Danke, hat wunderbar funktioniert
Muss ich nur noch schaun wie ich des am besten in ne Schleife pack.

Ich weiß, das es mit ner List einfacher ist, leider will ich mir da zwei Sachen anzeigen lassen, weswegen ich die Form verwende und ne ChoiceGroup.

Das blöde ist, das man bei der ChoiceGroup kein IMPLICIT verwenden kann, da das eigentlich genau das ist, was ich brauche.

Oder gibt es eine möglichkeit eine List + ein Textfeld anzeigen zu lassen?

Gruß
Stefan

Geändert von MC_Basstard (08.03.2010 um 09:38 Uhr)
MC_Basstard ist offline  
Bei Google nach dem markiertem Wort suchen Bei Wikipedia nach dem markiertem Wort suchen Im Forum nach dem markiertem Wort suchen
Mit Zitat antworten
Alt 08.03.2010, 10:26   #5 (permalink)
Stammbenutzer
Gigabyte
 
Benutzerbild von The_S
 
Registriert seit: 29.11.2004
Beiträge: 11.038
Blog-Einträge: 1
Abgegebene Danke: 3
Erhielt 64 Danke für 62 Beiträge
Nur wenn du selbst zeichnest.
The_S ist offline  
Bei Google nach dem markiertem Wort suchen Bei Wikipedia nach dem markiertem Wort suchen Im Forum nach dem markiertem Wort suchen
Mit Zitat antworten
Alt 08.03.2010, 11:13   #6 (permalink)
Benutzer
Byte
Themenstarter
 
Registriert seit: 26.10.2009
Beiträge: 40
Abgegebene Danke: 11
Erhielt 0 Danke für 0 Beiträge
Ok schade,

das is leider nicht in meinen Absichten, da es auf jedem x-beliebigen Handy laufen soll, und es sonst bei jedem schief und krum aussieht.

Nun noch eine kleine frage, ich will erreichen, das egal welches Element in der ChoiceGroup ich anklicke, die gleiche Form geöffnet wird, in dem ich im Nachhinein verschiedene Sachen übergeben will.
Deswegen versuche ich hier eine Schleife zu machen:

Java Code: Quelltext in neuem Fenster öffnen
1
2
3
4
5
6
7
8
9
10
11
12
13
if (d == frm) {
            if (c == okCmd) {
                for(int a = 0; a<3;a++){
                     int b = 0;
                     int x = b++;
                   if(cg.isSelected(x)){ //Eins wurde ausgewählt
                    Display.getDisplay(this).setCurrent(einsFrm);
                    //break;
                   }
                return;
                }
            }
        }

Hab schon n paar Sachen Versucht, das hier ist mein letzter versuch. Ich weiß nicht, wie ich das isSelected(?) so ändern kann, dass ich auch andere Elemente anklicken kann und sich dann die neue Form öffnet.

Gruß
Stefan
MC_Basstard ist offline  
Bei Google nach dem markiertem Wort suchen Bei Wikipedia nach dem markiertem Wort suchen Im Forum nach dem markiertem Wort suchen
Mit Zitat antworten
Alt 08.03.2010, 20:03   #7 (permalink)
Benutzer
Byte
 
Registriert seit: 25.10.2006
Beiträge: 85
Abgegebene Danke: 3
Erhielt 2 Danke für 2 Beiträge
ich verstehe noch nicht so ganz was du vorhast.

Java Code: Quelltext in neuem Fenster öffnen
1
2
int b = 0;
int x = b++;

damit wird x bei jedem schleifendurchlauf immer auf 0 gesetzt und b danach auf 1
du müsstest b außerhalb der schleife Deklarieren.
Aufjedenfall kann man hier auch einfach

Java Code: Quelltext in neuem Fenster öffnen
1
2
int b = 1;
int x = 0;

schreiben

EDIT:

ich glaube jetzt hab ich gepeilt was du willst.

Wenn du bei egal welcher auswahl den nächsten screen haben willst, kannst du die Abfrage einfach weglassen

Java Code: Quelltext in neuem Fenster öffnen
1
2
3
4
5
if (d == frm) {
    if (c == okCmd) {
        Display.getDisplay(this).setCurrent(einsFrm);
    }
}

und zur Erklärung cg.isSelected(x) gibt true zurück, wenn das Element x ausgewählt ist, und false es nicht ausgewählt ist.

Da du wascheinlich die ChoiceGroup als Klassen Attribut deklariert hast wirst du die Information welches Element ausgwählt ist auch noch später abfragen können.

Geändert von florian1x (08.03.2010 um 20:21 Uhr)
florian1x ist offline  
Bei Google nach dem markiertem Wort suchen Bei Wikipedia nach dem markiertem Wort suchen Im Forum nach dem markiertem Wort suchen
Mit Zitat antworten
Danke sagt:
MC_Basstard (09.03.2010)
Alt 09.03.2010, 07:51   #8 (permalink)
Benutzer
Byte
Themenstarter
 
Registriert seit: 26.10.2009
Beiträge: 40
Abgegebene Danke: 11
Erhielt 0 Danke für 0 Beiträge
Danke erstmal für die Antwort.
Hätt ich mir schwerer vorgestellt.

Aber so kann ich denk ich mal ... ich weiß grad nicht wie ich das bescheiben soll.

Die Hauptsache, für was ich das brauche ist, dass ich aus einer txt-Datei etwas in die ChoiceGroup einlese, z.B.:
Hans Maier, 0123 2423534
Toni Mur, 1239 20954371

Und je nach dem welches Element ich dann anklicke, soll in der neuen Form irgendwo (weiß ich jetzt noch nicht genau, wie ich das dann weiter mache) die Nummer übergeben werden.

Deswegen dachte ich, ich mach das mit der Auswahl in einer Schleife, dann weiß das Programm genau was ich angeklickt habe, und kann dann von diesem Element auch irgendwie etwas übergeben.

Leider bin ich neu in diesem Gebiet und weiß nicht was sich da alles für Möglichkeiten bieten und ich dachte so müsste das eigentlich irgendwie gehen.

Gruß
Stefan

Geändert von MC_Basstard (09.03.2010 um 07:54 Uhr)
MC_Basstard ist offline  
Bei Google nach dem markiertem Wort suchen Bei Wikipedia nach dem markiertem Wort suchen Im Forum nach dem markiertem Wort suchen
Mit Zitat antworten
Alt 14.03.2010, 21:01   #9 (permalink)
Benutzer
Byte
 
Registriert seit: 25.10.2006
Beiträge: 85
Abgegebene Danke: 3
Erhielt 2 Danke für 2 Beiträge
Versuchs mal mit

Java Code: Quelltext in neuem Fenster öffnen
1
cg.getString(cg.getSelectedIndex())

damit kriegste den text, des ausgewählten Elements. Wobei ich mir gerade nicht so sicher bin ob man getSelectedindex() da so einfach reinmachen darf. Weil wenn kein element ausgewählt ist, gibt die Funktion -1 zurück und da könnte getString nen Fehler erzeugen. Müsste man vorher überprüfen.
florian1x ist offline  
Bei Google nach dem markiertem Wort suchen Bei Wikipedia nach dem markiertem Wort suchen Im Forum nach dem markiertem Wort suchen
Mit Zitat antworten
Antwort    

Lesezeichen

Stichworte
choicegroup , j2me , java , programmieren

Latex Maths & Physics Editor ...

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln
Es ist Ihnen erlaubt, neue Themen zu verfassen.
Es ist Ihnen erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are aus
Pingbacks are aus
Refbacks are aus


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Ich habe ein Problem mit dem öffnen eines neuen Fensters firestone Für Verirrte - Fragen zu JavaScript 3 19.01.2010 12:28
Einige links in neuen fenster öffnen ralfus Für Verirrte - Fragen zu JavaScript 2 29.05.2008 09:49
Focus beim öffnen eines neuen JFrames m1cHi AWT, Swing & SWT 6 03.01.2007 02:52
Screen nach Auswahl schließen und neuen öffnen?wie mach ichs AWT, Swing & SWT 8 13.03.2006 17:08
Drobdown auswahl in neuen Fenster öffnen. getto Für Verirrte - Fragen zu JavaScript 3 25.08.2003 13:27


Alle Zeitangaben in WEZ +2. Es ist jetzt 09:52 Uhr.


Powered by vBulletin® Version 3.8.6 (Deutsch)
Copyright ©2000 - 2010, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.3.2
Thanks for Smilies by smilies.4-user.de