Ich habe eine XML-Datei wie dieseBundle bezogenen Ansichten in Widget und Daten füttern
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<ImageButton
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:id="@+id/book_dialog_btn"
android:src="@drawable/book"
android:onClick="showDialog"/>
<EditText
android:id="@+id/code_field"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="number" />
</LinearLayout>
EditText Feld mit einer ganzen Zahl gefüllt werden muss, dass ein Produkt-ID und Benutzer können die Möglichkeiten, in zwei eingeben
- Benutzer kann entweder klicken sie auf Image, die einen Dialog mit einer Liste öffnet und nach dem Benutzer ein Element auswählen, wird id
- Benutzer wissen Produkt-ID EditText eingefügt und geben sie es manuell
Diese Bits von XML-Code werden in mehr als eine Tätigkeit zu wiederholen, so gebündelte i in eine kundenspezifische Ansicht wie diese
public class PiceBookCodeField extends LinearLayout{
public PiceBookCodeField (Context context, AttributeSet attr, int defStyle) {
super(context, attr, defStyle);
init();
}
public PiceBookCodeField (Context context, AttributeSet attr) {
super(context, attr);
init();
}
public PiceBookCodeField (Context context) {
super(context);
init();
}
private void init() {
LinearLayout root = (LinearLayout) inflate(getContext(), R.layout.price_book_code_field, this);
}
}
und i unten Code verwenden, anstatt in XML
<com.sth.PiceBookCodeField
android:layout_width="match_parent"
android:layout_height="wrap_content">
aber ich Ich möchte Textwatcher hinzufügen, um Text zu bearbeiten und wenn Benutzer eine Code-Suchdatenbank eingeben, um zu prüfen, ob Code in der Datenbank existiert. , aber ich lese irgendwo, dass wir keine Daten bezogene Logik in Aussicht stellen müssen, aber wo ich diese Logik schreiben und vermeiden sollte, es
ist es eine gute Übung!? Ich habe gelesen, dass wir eine Async-Aufgabe in Hinblick auf die Datenzuführung nicht starten sollten? – ramin
Wird schlecht sein, wenn Sie ohne asynchrone Aufgabe füllen werden –