2016-10-12 2 views
-7

Ich bin auf WINDOWSProbleme mit Zeichenfolgen

Ich arbeite an einem Projekt. Ich habe android-7.jar heruntergeladen und in android7.zip umbenannt und die Dateien extrahiert. Das hat gut funktioniert. Jetzt habe ich die Klassen für Android. Mein Hauptaugenmerk ist nur der android.app.AlertDialog, aber das hatte eine Menge von Importen, also benutze ich nur die gesamte Android-Quelle. Ich habe meine eigene Java-Datei, com.tylerr147.dialog.showDialog

Hier ist die Datei:

//javac com/tylerr147/dialog/showDialog.java 
package com.tylerr147.dialog; 

import android.app.*; 
import android.os.*; 

public class showDialog extends Activity { 

AlertDialog.Builder adb = new AlertDialog.Builder(this); 
adb.setTitle("hi"); 


public static void main(String[] args) { 
} 
} 

Der Grund, warum ich außerhalb des Haupt-Alertdialog Sachen haben() ist, weil ich nicht die Alertdialog verwenden können in einer statischen Methode.

Alles ist in Ordnung, außer ich bin immer:

com\tylerr147\dialog\showDialog.java:10: error: <identifier> expected 
adb.setTitle("hi"); 
      ^
com\tylerr147\dialog\showDialog.java:10: error: illegal start of type 
adb.setTitle("hi"); 
      ^
2 errors 

Ich habe keine Ahnung, was dieses Problem verursacht. Jede Hilfe wird sehr geschätzt.

+0

'adb.setTitle (" hi ");' sollte innerhalb der Methode sein. –

+0

Muss es in main() sein? – TyGuy1016

+0

(1) Warum können Sie AlertDialog nicht in einer statischen Methode verwenden? (2) Wenn Sie nicht können, können Sie den Titel im Konstruktor festlegen. –

Antwort

0

Try this:

public class showDialog extends Activity { 

AlertDialog.Builder adb = new AlertDialog.Builder(this); 



public static void main(String[] args) { 
    adb.setTitle("hi"); 
} 
} 
+0

Ich denke, du bist die einzige Person, die meine Frage tatsächlich gelesen hat.Du bist die einzige Person, die versteht, dass ich auf Windows bin. Dank dafür! – TyGuy1016

+0

können Sie meine Antwort für die richtige Antwort markieren, wenn es den Job gemacht hat? Danke – nephilimrising

0

Da Sie den Verweis auf diese verwenden, folgenden Code muss

innerhalb einer Instanz-Methode platziert werden
AlertDialog.Builder adb = new AlertDialog.Builder(this); 
adb.setTitle("hi"); 
0

Sie OnCreate() Methode verwenden können entspricht main() Methode in Java-Klasse. Besser gehen durch Activity Life Cycle-Methoden in Android hier Android activity life cycle - what are all these methods for? und dann schauen Sie sich diese How do I display an alert dialog on Android?

+0

Das ist für Android. Ich mache das unter Windows, aber ich werde es versuchen, um sicher zu sein. – TyGuy1016

+0

dann warum hast du android getaggt ?? – praveen

+0

, weil ich die JAR-Datei ANDROID verwende – TyGuy1016

0

Sie wollen nicht eine Hauptmethode mit Android. Stattdessen sollten Sie die onCreate-Methode aus der erweiterten Aktivitätsklasse überschreiben und diese als Ausgangspunkt verwenden.

@Override 
protected void onCreate(Bundle savedInstanceState{ 
    super.onCreate(savedInstanceState) 
    adb = new AlertDialog.Builder(this); 
    adb.setTitle("hi"); 
} 
Verwandte Themen