Dialog aus Library anzeigen

kukuk

kukuk

App-Anbieter (kostenlos)
29
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();

}
 
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?
 
Ja, du musst eine aar lib bauen. Geht mit IntelliJ oder Android Studio.
New Module -> Android Libs statt Java Lib
 
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:
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
 
  • Danke
Reaktionen: kukuk
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.
 

Ähnliche Themen

A
Antworten
11
Aufrufe
245
swa00
swa00
R
  • Robby1950
2
Antworten
23
Aufrufe
1.192
Robby1950
R
D
  • Data2006
3 4 5
Antworten
84
Aufrufe
4.566
jogimuc
J
Zurück
Oben Unten