Fragmenty
387
jesteś tutaj
Kod pliku WorkoutListFragment.java
Poniżej przedstawiliśmy kompletny kod pliku WorkoutListFragment.java
(wprowadź wyróżnione zmiany w swojej wersji pliku, a następnie go zapisz):
package com.hfad.trenazer;
import android.os.Bundle;
import android.support.v4.app.ListFragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.content.Context;
import android.widget.ListView;
public class WorkoutListFragment extends ListFragment {
static interface Listener {
void itemClicked(long id);
};
private Listener listener;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
String[] names = new String[Workout.workouts.length];
for (int i = 0; i < names.length; i++) {
names[i] = Workout.workouts[i].getName();
}
ArrayAdapter<String> adapter = new ArrayAdapter<String>(
inflater.getContext(), android.R.layout.simple_list_item_1,
names);
setListAdapter(adapter);
return super.onCreateView(inflater, container, savedInstanceState);
}
@Override
public void onAttach(Context context) {
super.onAttach(context);
this.listener = (Listener)context;
}
@Override
public void onListItemClick(ListView ListView, View itemView, int position, long id) {
if (listener != null) {
listener.itemClicked(id);
}
}
}
app/src/main
WorkoutList
Fragment.java
Trenazer
java
com.hfad.trenazer
Zaimportuj te klasy.
Dodaj do fragmentu interfejs obiektu
nasłuchującego i sam obiekt.
Ta metoda jest wywoływana w momencie
dołączania fragmentu do aktywności.
Pamiętaj, że Activity jest klasą pochodną
klasy Context.
Ta metoda przekazuje obiektowi
nasłuchującemu informację
o kliknięciu jednego
z elementów ListView.
¨
Fragment WorkoutDetailFragment
¨
Fragment WorkoutListFragment
¨
Koordynacja fragmentów
Get Android Programowanie aplikacji. Rusz głową! Wydanie II now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.