Tutorial Android Swipe Down To Refresh ListView

Anda mungkin telah memperhatikan bahwa banyak aplikasi android seperti Twitter, Google+ memberikan pilihan untuk menggesek / pull down untuk menyegarkan konten. Setiap kali pengguna menggesek turun dari atas, loader akan ditampilkan dan akan hilang setelah konten baru dimuat. Dalam tutorial ini kita akan belajar bagaimana memberikan yang sama untuk aplikasi Anda juga.
Sebelumnya kami mengimplementasikan pandangan menggesek kustom untuk mendeteksi menggesek ke bawah. Tapi android membuat kita lebih mudah dengan SwipeRefreshLayout di android.support.v4 untuk mendeteksi menggesek vertikal pada tampilan.

1. Android SwipeRefreshLayout


Menggunakan SwipeRefreshLayout sangat mudah. Setiap kali Anda ingin mendeteksi menggesek ke bawah pada setiap tampilan. Dalam kasus kami, kami akan menggunakan dengan ListView. Dan menerapkan kelas aktivitas Anda dari SwipeRefreshLayout.OnRefreshListener. Ketika pengguna gesekan bawah, metode onRefresh () akan dipicu.

<?xml version="1.0" encoding="utf-8"?>
<android.support.v4.widget.SwipeRefreshLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/swipe_refresh_layout"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context="swiperefreshlayout.tahukoding.com.swiperefreshlayout.MainActivity">

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

2. Membuat Project Android

1. Pada Android Studio, buatlah project baru.
     => Jika Anda tidak memiliki sebuah project, di layar Welcome klik New Project.
     => Jika Anda telah membuka project, dari menu File, pilih New Project.

    2. Pada Configure your new project, isi kolom berikut seperti di bawah ini.
     => Application name ⇒ SwipeRefreshLayout
     => Company domain ⇒ example.com (Misalnya: com.tahukoding.SwipeRefreshLayout)
     => Project Location ⇒ memilih lokasi untuk project Anda.

    3. Pada Select the form factors your app will run oncentang untuk Phone and Tablet.
     => Untuk Minimum SDK, pilih API 14: Android 4.0 (IceCreamSandwich). klik Next.

    4. Pada Add an activity to Mobile, pilih Blank Activity dan klik Next.
    Next ->

    5. Klik tombol Finish untuk membuat project.
    6. Pilih View anda sebagai Project, Buka file layout untuk kegiatan utama (activity_main.xml) terletak dibawah App => res => layout.

    activity_main.xml
    <?xml version="1.0" encoding="utf-8"?>
    <android.support.v4.widget.SwipeRefreshLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:id="@+id/swipe_refresh_layout"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:paddingBottom="@dimen/activity_vertical_margin"
        android:paddingLeft="@dimen/activity_horizontal_margin"
        android:paddingRight="@dimen/activity_horizontal_margin"
        android:paddingTop="@dimen/activity_vertical_margin"
        tools:context="swiperefreshlayout.tahukoding.com.swiperefreshlayout.MainActivity">
    
        <ListView
            android:id="@+id/listView"
            android:layout_width="match_parent"
            android:layout_height="match_parent">
    
        </ListView>
    
    
    </android.support.v4.widget.SwipeRefreshLayout>

    7. Buka file layout untuk kegiatan utama (string.xml) terletak dibawah App => res => values.

    string.xml
    <resources>
        <string name="app_name">SwipeRefreshLayout</string>
        <string-array name="android">
            <item>Android Cupcake</item>
            <item>Android Donut</item>
            <item>Android Eclair</item>
            <item>Android Froyo</item>
            <item>Android Gingerbread</item>
            <item>Android Honeycomb</item>
            <item>Android IceCreamSandwich</item>
            <item>Android Jelly Bean</item>
            <item>Android Kitkat</item>
            <item>Android Lollipop</item>
            <item>Android Marshmallow</item>
            <item>Android Nougat</item>
        </string-array>
    </resources>

    8. Sekarang Buka MainActivity.java terletak di app ⇒ src ⇒ Java dan copy kode di bawah ini.

    MainActivity.java
    package swiperefreshlayout.tahukoding.com.swiperefreshlayout;
    
    import android.app.Activity;
    import android.os.Handler;
    import android.support.v4.widget.SwipeRefreshLayout;
    import android.os.Bundle;
    import android.widget.ArrayAdapter;
    import android.widget.ListView;
    
    public class MainActivity extends Activity {
    
        private ListView mListView;
        private SwipeRefreshLayout mSwipeRefreshLayout;
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
    
            mSwipeRefreshLayout = (SwipeRefreshLayout) findViewById(R.id.swipe_refresh_layout);
            mListView = (ListView) findViewById(R.id.listView);
    
            final ArrayAdapter mAdapter = ArrayAdapter.createFromResource(this, R.array.android, android.R.layout.simple_list_item_1);
    
            mSwipeRefreshLayout.setColorSchemeResources(R.color.colorAccent, R.color.colorPrimary, R.color.colorAccent);
            mSwipeRefreshLayout.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener(){
                @Override
                public void onRefresh() {
                    new Handler().postDelayed(new Runnable() {
                        @Override
                        public void run() {
    
                            mSwipeRefreshLayout.setRefreshing(false);
                            mListView.setAdapter(mAdapter);
    
                        }
                    }, 2000);
                }
            });
    
        }
    }

    Iklan Atas Artikel

    Iklan Tengah Artikel 1

    Iklan Tengah Artikel 2

    Iklan Bawah Artikel