Hier verwende ich Schiebe-Schublade. in diesem auf home icon es zeigt 3 tabs
1) welches konzept sollte ich für tab bewerben?
2) Ich möchte pulltoreferesh
und loadmore
in Listview wie Facebook anwenden? in dem Sie auch gesehen haben, dass beim Scrollen Fortschrittsbalken ausgeblendet wird und Anfrage abbrechen. pull zum Aktualisieren und Ladenmehr Listview wie facebook
Antwort
public class ListDemo extends Fragment{
ArrayAdapter<String> files;
private LinkedList<String> mListItems;
PullAndLoadListView lyt ;
// ListView lv1;
// The data to be displayed in the ListView
private String[] mNames = { "Fabian", "Carlos", "Alex", "Andrea", "Karla",
"Freddy", "Lazaro", "Hector", "Carolina", "Edwin", "Jhon",
"Edelmira", "Andres" };
// The data to be displayed in the ListView
private String[] mAnimals = { "Perro", "Gato", "Oveja", "Elefante", "Pez",
"Nicuro", "Bocachico", "Chucha", "Curie", "Raton", "Aguila",
"Leon", "Jirafa" };
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
super.onCreateView(inflater, container, savedInstanceState);
final View v = inflater.inflate(R.layout.tab_frag3_layout, container, false);
mListItems = new LinkedList<String>();
mListItems.addAll(Arrays.asList(mNames));
lyt = (PullAndLoadListView)v.findViewById(R.id.tab_frag3_listview1);
if (container == null) {
return null;
}
files = new ArrayAdapter<String>(getActivity(),android.R.layout.simple_list_item_1,mListItems);
lyt.setAdapter(files);
lyt.setOnRefreshListener(new OnRefreshListener() {
@Override
public void onRefresh() {
// TODO Auto-generated method stub
new PullToRefreshDataTask().execute();
}
});
lyt.setOnLoadMoreListener(new OnLoadMoreListener() {
@Override
public void onLoadMore() {
// TODO Auto-generated method stub
new LoadMoreDataTask().execute();
}
});
return v;
}
private class LoadMoreDataTask extends AsyncTask<Void, Void, Void> {
@Override
protected Void doInBackground(Void... params) {
if (isCancelled()) {
return null;
}
// Simulates a background task
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
}
for (int i = 0; i < mAnimals.length; i++)
mListItems.add(mAnimals[i]);
return null;
}
@Override
protected void onPostExecute(Void result) {
mListItems.add("Added after load more");
// We need notify the adapter that the data have been changed
files.notifyDataSetChanged();
// Call onLoadMoreComplete when the LoadMore task, has finished
lyt.onLoadMoreComplete();
super.onPostExecute(result);
}
@Override
protected void onCancelled() {
// Notify the loading more operation has finished
lyt.onLoadMoreComplete();
}
}
private class PullToRefreshDataTask extends AsyncTask<Void, Void, Void> {
@Override
protected Void doInBackground(Void... params) {
if (isCancelled()) {
return null;
}
// Simulates a background task
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
}
for (int i = 0; i < mAnimals.length; i++)
mListItems.addFirst(mAnimals[i]);
return null;
}
@Override
protected void onPostExecute(Void result) {
mListItems.addFirst("Added after pull to refresh");
// We need notify the adapter that the data have been changed
files.notifyDataSetChanged();
// Call onLoadMoreComplete when the LoadMore task, has finished
lyt.onRefreshComplete();
super.onPostExecute(result);
}
@Override
protected void onCancelled() {
// Notify the loading more operation has finished
lyt.onLoadMoreComplete();
}
}
}
hier zu gehen sourc ist e-Code von Bibliothek.
Ich habe diese Bibliothek selbst nicht verwendet, und es (vor 2 Monate) wurde eingestellt, aber es sieht gut aus mit Beispielen und alle:
https://github.com/chrisbanes/Android-PullToRefresh/wiki/Quick-Start-Guide
Von dem, was ich lese, im Grunde müssen Sie Ihre eigene Listenansicht mit der Bibliothek Listenansicht ersetzen und die jAR-Datei importieren und Sie sind gut ;-)
i2 Bibliotheken sind mit android-support-v4.jar, LoadMoreListView (com.costum.android.widget) –
So Was ist das Problem genau? Ich habe einen Link zu einer Bibliothek für Pull-Refresh in einer ListView oder ListFragment. Ich habe noch nie von der anderen Bibliothek gehört und beabsichtige nicht, sie im Moment zu betrachten. Warum nicht meinen Link stattdessen versuchen? – Darwind
Mit dieser Bibliothek habe ich Tage verwendet und perfekt funktionieren:
kannst du bitte deine xml-Datei hochladen? –
bitte fügen Sie benutzerdefinierte listview in Ihrem XML wie diese https://github.com/shontauro/android-pulltorefresh-and-loadmore#layout-for-pullandload-listview –
ok danke .. ich habe es :) –