Comment utiliser le SwipeRefreshLayout?

Fond

Google a récemment publié une mise à jour de sa bibliothèque de prise en charge, qui a maintenant un nouveau "SwipeRefreshLayout".

La vue permet d'envelopper un autre point de vue, tout en soutenant la glisser vers le bas pour effectuer une opération d'actualisation.

capture d'écran:

Comment utiliser le SwipeRefreshLayout?

Le problème

Google n'a pas fourni un échantillon (au moins pas un de ceux que je peux trouver, encore), donc j'ai essayé de l'utiliser moi-même.

Au début, j'ai eu un plantage (NPE) à chaque fois que je l'ai lue, mais ensuite j'ai trouvé que c'est parce que je n'ai pas de fournir un "OnRefreshListener".

Mais je ne comprends toujours pas comment l'utiliser, encore moins de le personnaliser

Voici le XML du fichier de mise en page:

<android.support.v4.widget.SwipeRefreshLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/container"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="com.example.swiperefreshlayouttest.MainActivity"
    tools:ignore="MergeRootFrame" >

    <ScrollView
        android:layout_width="match_parent"
        android:layout_height="wrap_content" >

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="vertical" >

            <TextView
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:text="TTT"
                android:textSize="40sp" />

            <TextView
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:text="TTT"
                android:textSize="40sp" />

            <TextView
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:text="TTT"
                android:textSize="40sp" />

            <TextView
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:text="TTT"
                android:textSize="40sp" />

            <TextView
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:text="TTT"
                android:textSize="40sp" />
        </LinearLayout>
    </ScrollView>

</android.support.v4.widget.SwipeRefreshLayout>

Code, mais il ne veut pas faire quelque chose de spécial à tous:

public class MainActivity extends ActionBarActivity
  {
  @Override
  protected void onCreate(final Bundle savedInstanceState)
    {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    final SwipeRefreshLayout swipeRefreshLayout=(SwipeRefreshLayout)findViewById(R.id.container);
    swipeRefreshLayout.setOnRefreshListener(new OnRefreshListener()
      {
        @Override
        public void onRefresh()
          {
          //do nothing
          }
      });
    }
  }

La question

Quelle est la bonne façon d'utiliser ce point de vue?

Comment puis-je le personnaliser? Actuellement c'est juste une ligne noire...

Ne savais pas que c'était dans l'officiel du kit sdk d'android. Apparemment, ce mec a compris, antonioleiva.com/swiperefreshlayout
Pouvez-vous montrer comment vous avez mis en œuvre dans le code java?
Cochez cette tutecentral.com/android-pull-to-refresh
Je n'ai pas. Tout ce que je fait, c'est l'ajout d'un écouteur qui ne fait rien. Le code lui-même est dans la bibliothèque de prise en charge. donc, vous dites que ce sont les seules fonctions qui sont disponibles?
ce n'est pas le soutien de la bibliothèque de la classe.

OriginalL'auteur android developer | 2014-04-11