Ich habe 3 Tabs in meiner Tabbed-Aktivität. Ich habe 3 Klassen erstellt, die Fragment erweitern und meine Layouts hinzugefügt haben. Wenn ich es laufe, funktioniert es gut. Also habe ich einige EditText-Widgets und einen Button zu meinem zweiten Tab hinzugefügt. Meine Frage ist: wo gebe ich Java-Code ein, um zum Beispiel onClickListener für diese Schaltfläche zu bearbeiten. Ich habe versucht, es in dieser Haupt-Aktivitätsklasse zu tun, aber dann stürzte die App ab.Android Tabbed-Aktivität und Java-Code?
Antwort
Sie können diesen Code in das entsprechende Fragment der Registerkartenaktivität einfügen. Die Anwendung wird abstürzen, weil die Aktivität nicht auf die Sichten zugreifen kann, die in einem Fragment aufgebläht werden. Sie können wie folgt tun:
public class PageFragment extends Fragment {
public static final String ARG_PAGE = "ARG_PAGE";
private int mPage;
public static PageFragment newInstance(int page) {
Bundle args = new Bundle();
args.putInt(ARG_PAGE, page);
PageFragment fragment = new PageFragment();
fragment.setArguments(args);
return fragment;
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mPage = getArguments().getInt(ARG_PAGE);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_page, container, false);
TextView textView = (TextView) view;
textView.setText("Fragment #" + mPage);
return view;
}
}
mehr für diese tutorial überprüfen.
Sie müssen Button-Klick-Code zu entsprechenden Fragment, d. H. Zweite Registerkarte in Ihrem Fall hinzufügen. Schreiben Sie keinen Code für Aktivitäten, die dieses Fragment hosten.
Aber in diesem Java-Datei findViewById –
Nutzen Sie diesen Code auf Ihrem zweiten Fragment @Override Öffentlichkeit onCreateView (LayoutInflater inflater, Viewgroup Behälter, Gebündelt savedInstanceState) { endgültige Ansicht view = inflater.inflate (R Ich kann nicht verwenden .layout.second_fragment, container, false); \t final Schaltfläche recyclerView = (Schaltfläche) view.findViewById (R.id.mybutton); // Button click code hier hinzufügen Rückansicht; } –
@slaven Sie müssen View.findviewbyid in Fragment verwenden –
- 1. JSP: Einen Javacode rufen
- 2. Android: erstellen Checkbox über javacode in Klasse Fragment
- 3. Wie setze ich XML-Namespace-Wert in Javacode Android
- 4. Tomcat 8.5.x: Migrieren Ventil javacode von Tomcat 7
- 5. JavaCode zum Verbinden von API-Mgr mit Client-ID/Client-Geheimschlüssel/Token
- 6. Verwenden von JavaCode, um den tatsächlichen Namen des Programms zu erhalten, das oben ist
- 7. Wie man Bildhintergrund vom Code in Android einstellt?
- 8. android: layout_marginStart und android: layout_marginEnd
- 9. Android und onSaveInstance und Restore
- 10. Unterschied zwischen Android: Breite und android: layout_width
- 11. Unterschied zwischen Android: windowBackground und Android: colorBackground?
- 12. Android: EditText - mehrere Zeilen und Android: inputType
- 13. Android-Architektur-Komponenten, Android-Bindung und LiveData
- 14. Unterschied zwischen Android Automotive und Android Auto
- 15. Android: NoClassDefFoundError für Android 4.4 und unter
- 16. Größenanpassung Android Android Widgets (DatePicker und TimePicker)
- 17. Unterschied zwischen Android: ID und Android: LabelFor?
- 18. Android-Annotationen und neue Android-Databinding
- 19. Android: Verzeichnis und Dateiauswahl Android-Bibliothek
- 20. Unterschied zwischen Android: layout_alignParentTop und android: layout_alignParentStart
- 21. MQtt und Android Services
- 22. Android und Borderless Ripple
- 23. Android-Layout und Zeichnungsordner
- 24. Android und GCM
- 25. Android Tiefpassfilter und Hochpassfilter
- 26. Android-Annotations und Vererbung
- 27. Android JSON und Nullwerte
- 28. moshi und Android 2.3.3
- 29. Android onDestroy und beenden
- 30. Schreiben und Lesen Android
Wenn Sie den Code benötigen, erstellen Sie einfach ein neues Projekt in Android Studio und wählen Sie "Tabbed Activity" statt "Empty Activity". Sie finden einen perfekten Code und Sie können sich darauf beziehen. – zackygaurav