SwipeRefreshLayout یکی از امکانات جالب در اندروید استودیو میباشد، مثلأ اپ اندرویدی شما با اینترنت کار میکند و بعد از اینکه شما اطلاعاتی را به درون این اپ ارسال میکنید کاربر باید اپ شما را بروزرسانی و یا رفرش کند تا اطلاعات به دست وی برسد، ما در این آموزش برای شما آموزشی رو آماده کردیم که دقیقا کار رفرش را برای شما انجام میدهد و تابحال با همچین رفرشی مواجه شده اید دقیقا مثل نرم افزار جیمیل، در ادامه با ما باشید…
برای ادامه در ابتدا کتابخانه زیر را به پروژه خود اضافه کنید (آموزش اضافه کردن کتابخانه)
1 |
compile 'com.android.support:support-v4:21.0.+' |
بعد از اینکه کتابخانه را اضافه کردید یک فایل xml با نام activity_main.xml بسازید و کد های زیر را درون فایل قرار دهید:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout 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" tools:context=".MainActivity"> <android.support.v4.widget.SwipeRefreshLayout android:id="@+id/swipeToRefresh" android:layout_width="match_parent" android:layout_height="wrap_content"> <ListView android:id="@+id/listView" android:layout_width="match_parent" android:layout_height="match_parent" > </ListView> </android.support.v4.widget.SwipeRefreshLayout> </RelativeLayout> |
در کد بالا ما یک SwipeRefreshLayout قرار داده ایم و درون SwipeRefreshLayout یک ListView قرار دادیم.
حالا یک فایل جاوا بسازید با نام MainActivity.java و کد های زیر را درون این فایل قرار دهید:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 |
package com.roidket; import android.support.v4.widget.SwipeRefreshLayout; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.widget.ArrayAdapter; import android.widget.ListView; import java.util.ArrayList; import java.util.Collections; import java.util.Random; public class MainActivity extends AppCompatActivity { ArrayList arrayList = new ArrayList(); SwipeRefreshLayout mSwipeRefreshLayout; ListView mListView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mSwipeRefreshLayout = (SwipeRefreshLayout) findViewById(R.id.swipeToRefresh); mListView = (ListView) findViewById(R.id.listView); mSwipeRefreshLayout.setColorSchemeResources(R.color.colorAccent); arrayList.add("رویدکت"); arrayList.add("بازار اندروید"); arrayList.add("دنیای اندروید"); arrayList.add("اندروید ایران"); arrayList.add("بازار توسعه دهندگان"); ArrayAdapter adapter = new ArrayAdapter(this, android.R.layout.simple_list_item_1, arrayList); mListView.setAdapter(adapter); mSwipeRefreshLayout.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() { @Override public void onRefresh() { shuffle(); mSwipeRefreshLayout.setRefreshing(false); } }); } public void shuffle(){ Collections.shuffle(arrayList, new Random(System.currentTimeMillis())); ArrayAdapter adapter = new ArrayAdapter(this, android.R.layout.simple_list_item_1, arrayList); mListView.setAdapter(adapter); } } |
ابتدا ما یک آرایه درست کردیم تا یکسری اطلاعات را در آن قرار دهیم سپس view مربوط به هر کدام از شئی ها را به دست آورده و از setColorSchemeResources برای تغییر رنگ SwipeRefreshLayout استفاده کردیم و در ادامه آن داده های sample را به آرایه اضافه کردیم سپس یک آداپتور ایجاد کرده و آرایه خود را در آن قرار می دهیم و سپس بروی listview آداپتور را ست می کنیم. برای اینکه برای SwipeRefreshLayout یک Listener تعریف کنیم یعنی زمانی که از بالا به پایین کشیدیم به اصلاح Refresh شود چون در اینجا ما داده جدیدی نداریم که refresh شود پس همان داده ها را به صورت shuffle (ایجاد تغییر در چیدمان لیست ما) نمایش داده شود از void که نام آن shuffle است استفاده شده است.
برای دانلود و دریافت سورس این آموزش اینجا کلیک کنید.
باتشکر از همراهی شما، نظرات و سوالات خود را در قسمت دیدگاه ها برای ما ارسال کنید.
باتشکر از وبسایت programchi
دیدگاه بگذارید
اولین نفری باشید که دیدگاه میگذارد