Mam widok listy, który jest wyświetlany na fragmencie. Mam przycisk u dołu ekranu, na którym po naciśnięciu wywoła serwis internetowy, aby ponownie wprowadzić dodatkowe dane. Jeśli są dodatkowe dane, muszę dodać je do widoku listy. Przeszukałem to forum i wiele innych stron internetowych, aby spróbować i dowiedzieć się, jak to zrobić, ale nie odniosłem sukcesu. Każda pomoc jest doceniana.Android: ListFragment: Jak odświeżyć listę
Teraz myślę, że muszę dodać fragment dyncamically zamiast go zdefiniować w następującym układzie XML.
Używam ListFragment do nadmuchania widoku listy na ekranie.
Mam na ekranie ekran z dwoma fragmentami. XML na ekranie jest poniżej: -
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="0dp"
android:layout_weight="1"
android:orientation="horizontal" >
<fragment
android:name="atos.mobilereporting.com.ReportList"
android:layout_width="323dp"
android:layout_height="match_parent" />
<fragment
android:name="atos.mobilereporting.com.ReportDetail"
android:layout_width="958dp"
android:layout_height="match_parent" />
</LinearLayout>
<Button
android:id="@+id/getReports"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Refresh Mobile Reports" />
</LinearLayout>
Kod nadmuchać pogląd jest poniżej: -
public class ReportList extends ListFragment {
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// Get list of reports...
repList = ReportDefinitionFactory.buildReportList(3);
activity = getActivity();
ListAdapter la = new ArrayAdapter<String>(getActivity(),
android.R.layout.simple_list_item_1,
ReportDefinitionFactory.getReportDescriptions(repList));
setListAdapter(la);
}
}
Kod ten pokazuje prosty widok listy z 3 wierszy na nim.
To w tym momencie muszę się zatrzymać, ponieważ nie wiem, dokąd się udał. Mam kod, który doda dodatkowy wiersz do tablicy, która jest używana do początkowego budowania widoku listy, ale nie wiem, w jaki sposób mogę wywołać odświeżenie w widoku listy.
Dzięki
Martin
Cześć, mówi, że metoda notifyDataSetChanged jest niezdefiniowana dla typu ListAdapter. –
Po prostu zamień "ListAdapter la = new ArrayAdapter" przez "ArrayAdapter la = new ArrayAdapter" – fiddler
Rzeczy wyglądają lepiej, teraz zrozumiałem, że nie zapełniam mojej tablicy correclty. Dzięki za pomoc w udzieleniu porady. –