Ich habe zwei Android-Anwendungen mit einer ähnlichen Funktionalität, aber verschiedene Zeichen und Layouts.Wie können in einem Android-Bibliotheksprojekt definierte Zeichen geändert werden?
Ich möchte den gesamten Code und die Ressourcen in ein Bibliotheksprojekt einfügen und einige der Zeichen und Layouts in den beiden Anwendungen überschreiben, die auf diese Bibliothek verweisen.
Ich habe eine Anwendung erstellt, die auf die Bibliothek verweist. Ich habe alle Ressourcen aus der Bibliothek in die Anwendung kopiert und einige der Zeichen geändert. Ich habe auch einige der String-Ressourcen geändert. Wenn ich eines der geänderten Layouts im Layout-Editor in Eclipse anschaue, sehe ich die korrekten überschriebenen Bilder.
Wenn ich die Anwendung starte, sehe ich, dass die Zeichenfolgenressourcen, die ich in der Anwendung änderte, korrekt angezeigt werden (die Bibliothekszeichenfolgen werden von den Ressourcen der Anwendung überschrieben), aber die Zeichen meiner ImageView
s werden alle aus den Ressourcen genommen der Bibliothek.
Ich habe auch Änderungen in einigen der Layout-Ressourcen vorgenommen (einige Bilder verschoben und in der Größe geändert). Wenn ich eine Aktivität starte, die das geänderte Layout verwendet (eine Aktivität, deren Quellcode in der Bibliothek enthalten ist), sehe ich das neue (Anwendungs-) Layout mit den alten (Bibliotheks-) Zeichnungsdateien.
Ich versuchte, die Drawables der ImageView
s auf zwei Arten definieren:
im Layout xml:
android:src="@drawable/image_id"
im Code der Aktivität:
ImageView view = (ImageView)findViewById(R.id.viewId); view.setImageResource(R.drawable.image_id);
In beiden Fällen wird das Bild, das ich sehe, aus den Ressourcen genommen des Bibliotheksprojekts und nicht der Anwendung.
Wenn ich dieses Problem nicht lösen kann, muss ich den gesamten Code in beiden Anwendungen duplizieren, was eine Schande wäre.
Mache ich etwas falsch?
Ich habe für Ihre Frage abgestimmt, weil es sehr nützlich scheint, vor allem mit Ihrer eigenen Antwort, in Kommentaren zur Verfügung gestellt. Ich denke, das Überschreiben von Zeichen ist ein ebenso wichtiger Ansatz wie das Überschreiben von Methoden und macht die Dinge viel einfacher und rationalisierter. Übermäßige Parameter und Codierung sind überflüssig. – Stan