Dialog aus Library anzeigen

  • 5 Antworten
  • Neuster Beitrag
kukuk

kukuk

App-Anbieter (kostenlos)
Threadstarter
Hallo alle zusammen,

ich habe das Problem, das ich aus meiner jar Bibliothek kein Dialog aufrufen kann.

Ich bekomme die Fehlermeldung:
Failed resolution of: Lcom/scherners_hue_control/R$layout;
at com.scherners_hue_control.dialoge.data_download_anzeigen(dialoge.java:18)


folgendes habe ich in meiner Library:

Code:
public static void setup_bridge(Context context) {
dialoge.data_download_anzeigen(context);
}


Code:
public static void data_download_anzeigen(Context context) {




    final Dialog dialog = new Dialog(context);
    dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
    dialog.setContentView(R.layout.data_download);

    dialog.setCancelable(true);
    dialog.setCanceledOnTouchOutside(false);


    // set the custom dialog components - text, image and button


    final Button weiter = (Button) dialog.findViewById(R.id.button2);
    final TextView txt_überschrift = (TextView) dialog.findViewById(R.id.txt_ueberschrift);


    txt_überschrift.setText("Download der Daten!");
    // if button is clicked, close the custom dialog


    dialog.show();
    Thread thread = new Thread() {
        @Override
        public void run() {



            try {
                Thread.sleep(3000);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }



        }
    };

    thread.start();

}
 
kukuk

kukuk

App-Anbieter (kostenlos)
Threadstarter
Bei Stackoverflow habe ich gelesen, das in Jar's keine layout, drawables u.s.w unterstützt werden. Stimmt das?


Muss ich meinen Dialog dynamisch erzeugen?
 
D

deek

Stammgast
Ja, du musst eine aar lib bauen. Geht mit IntelliJ oder Android Studio.
New Module -> Android Libs statt Java Lib
 
kukuk

kukuk

App-Anbieter (kostenlos)
Threadstarter
Hey danke dir.


Habs hinbekommen. Muss einfach nur aus dem app/Build/outputs/aar/ die aar file nehmen anstatt die jar. Dann kann ich auch meine Layouts usw. einbinden.


Du hast meinen Tag gerettet. Sonst hätte ich alle Dialoge dynamisch machen müssen was unnütze Arbeit ist.



Kannst du mir sagen, wie ich meine dialoge.class einstelle, das die für Leute die die Bibliothek verwenden unsichtbar wird?

In VB.net kann ich z.B sagen Friend Class dialoge
Wie geht das in Android?

Auf der Seite kann ich zu Friend dann nur (default) finden.
Aber (default) nimmt der logischer weiße nicht an

VB.NET für Java-Entwickler
 
Zuletzt bearbeitet:
D

deek

Stammgast
Das geht nicht wirklich. Wenn du alles in einem package hast, kannst du die Klasse package protected machen, also die class Definition ohne public oder private modifier. Aber wenn jemand deinene package Name verwendet kann er auch deine Klasse sehen.
Ansonsten kannst du noch Proguard zum obfuskieren verwenden.

Sorry für die späte Antwort, ich bin im Urlaub :D
 
kukuk

kukuk

App-Anbieter (kostenlos)
Threadstarter
Danke für deine Antwort.

Naja dann muss ich die Dialog Klasse halt sichtbar lassen. Die einzelenen Funktionen sind dafür ja unsichtbar (protected static void).

Das funktioniert ja auch.
 
Thread starter Similar threads Forum Replies Date
Jonathan007 Android App Entwicklung 4
Oben Unten