Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package smpnegeri8.toms.siakadsmpn8;
- import android.app.ProgressDialog;
- import android.os.Handler;
- import android.support.v4.view.MenuItemCompat;
- import android.support.v4.widget.SwipeRefreshLayout;
- import android.support.v7.app.AppCompatActivity;
- import android.os.Bundle;
- import android.support.v7.widget.SearchView;
- import android.util.Log;
- import android.view.Menu;
- import android.view.MenuItem;
- import android.widget.AbsListView;
- import android.widget.ListView;
- import android.widget.Toast;
- import com.android.volley.RequestQueue;
- import com.android.volley.Response;
- import com.android.volley.VolleyError;
- import com.android.volley.VolleyLog;
- import com.android.volley.toolbox.JsonArrayRequest;
- import com.android.volley.toolbox.Volley;
- import org.json.JSONArray;
- import org.json.JSONException;
- import org.json.JSONObject;
- import java.util.ArrayList;
- import java.util.List;
- import smpnegeri8.toms.siakadsmpn8.functional.Adapter;
- import smpnegeri8.toms.siakadsmpn8.functional.AppController;
- import smpnegeri8.toms.siakadsmpn8.functional.URL_TAMPIL_DATA;
- import smpnegeri8.toms.siakadsmpn8.functional.set_dataSiswa;
- public class Data_SiswaActivity extends AppCompatActivity implements SwipeRefreshLayout.OnRefreshListener, SearchView.OnQueryTextListener{
- ProgressDialog pDialog;
- List<set_dataSiswa> listData = new ArrayList<set_dataSiswa>();
- Adapter adapter;
- SwipeRefreshLayout swipe;
- ListView list_view;
- private static String url_list = URL_TAMPIL_DATA.URL + "Json_data_siswa.php?offset=";
- private int offSet = 0;
- int no;
- Handler handler;
- Runnable runnable;
- //public static final String URL_TAMPIL_DATA = "http://smpn8-pky.tk/siakad/Json_data_siswa.php";
- public static final String URL_CARI_DATA = "http://10.0.2.2/android/kuncoro_search_view/cari_data.php";
- private static final String TAG = Data_SiswaActivity.class.getSimpleName();
- public static final String TAG_NO = "no";
- public static final String TAG_ID = "id";
- public static final String TAG_NAMA = "nama_siswa";
- public static final String TAG_JK = "jk";
- public static final String TAG_NISN = "nisn";
- public static final String TAG_TPT_LAHIR = "tpt_lahir";
- public static final String TAG_TGL_LAHIR = "tgl_lahir";
- public static final String TAG_AGAMA = "agama";
- public static final String TAG_ALAMAT = "alamat";
- public static final String TAG_KELURAHAN = "kalurahan";
- public static final String TAG_KECAMATAN = "kecamatan";
- public static final String TAG_NM_AYAH = "nm_ayah";
- public static final String TAG_NM_IBU = "nm_ibu";
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_data_siswa);
- swipe = (SwipeRefreshLayout) findViewById(R.id.swipe_refresh);
- list_view = (ListView) findViewById(R.id.list_view_siswa);
- adapter = new Adapter(Data_SiswaActivity.this, listData);
- list_view.setAdapter(adapter);
- swipe.setOnRefreshListener(this);
- swipe.post(new Runnable() {
- @Override
- public void run() {
- swipe.setRefreshing(true);
- listData.clear();
- adapter.notifyDataSetChanged();
- callData(0);
- }
- }
- );
- list_view.setOnScrollListener(new AbsListView.OnScrollListener() {
- private int currentVisibleItemCount;
- private int currentScrollState;
- private int currentFirstVisibleItem;
- private int totalItem;
- @Override
- public void onScrollStateChanged(AbsListView view, int scrollState) {
- this.currentScrollState = scrollState;
- this.isScrollCompleted();
- }
- @Override
- public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) {
- this.currentFirstVisibleItem = firstVisibleItem;
- this.currentVisibleItemCount = visibleItemCount;
- this.totalItem = totalItemCount;
- }
- private void isScrollCompleted() {
- if (totalItem - currentFirstVisibleItem == currentVisibleItemCount
- && this.currentScrollState == SCROLL_STATE_IDLE) {
- swipe.setRefreshing(true);
- handler = new Handler();
- runnable = new Runnable() {
- public void run() {
- callData(offSet);
- }
- };
- handler.postDelayed(runnable, 3000);
- }
- }
- });
- }
- @Override
- public void onRefresh() {
- listData.clear();
- adapter.notifyDataSetChanged();
- callData(0);
- }
- private void callData(int page) {
- swipe.setRefreshing(true);
- JsonArrayRequest jsonArrayRequest = new JsonArrayRequest(url_list + page, new Response.Listener<JSONArray>() {
- @Override
- public void onResponse(JSONArray response) {
- Log.e(TAG, response.toString());
- if (response.length() > 0){
- for (int i = 0; i < response.length(); i++) {
- /* JSONObject obj = null;
- set_dataSiswa item = new set_dataSiswa();*/
- try {
- JSONObject obj = response.getJSONObject(i);
- set_dataSiswa item = new set_dataSiswa();
- // obj = response.getJSONObject(i);
- no = obj.getInt(TAG_NO);
- item.setId(obj.getInt(TAG_ID));
- item.setNama_siswa(obj.getString(TAG_NAMA));
- item.setJk(obj.getString(TAG_JK));
- item.setNisn(obj.getString(TAG_NISN));
- item.setTpt_lahir(obj.getString(TAG_TPT_LAHIR));
- item.setTgl_lahir(obj.getString(TAG_TGL_LAHIR));
- item.setAgama(obj.getString(TAG_AGAMA));
- item.setAlamat(obj.getString(TAG_ALAMAT));
- item.setKelurahan(obj.getString(TAG_KELURAHAN));
- item.setKecamatan(obj.getString(TAG_KECAMATAN));
- item.setNm_ayah(obj.getString(TAG_NM_AYAH));
- item.setNm_ibu(obj.getString(TAG_NM_IBU));
- listData.add(item);
- if (no > offSet)
- offSet = no;
- Log.e(TAG, "offSet " + offSet);
- } catch (JSONException e) {
- Log.e(TAG, "JSON Parsing error: " + e.getMessage());
- }
- adapter.notifyDataSetChanged();
- }
- }
- swipe.setRefreshing(false);
- }
- }, new Response.ErrorListener() {
- @Override
- public void onErrorResponse(VolleyError error) {
- Log.e("VOLLEY POST","ERROR in post response"+error.getMessage());
- Toast.makeText(Data_SiswaActivity.this, error.getMessage(), Toast.LENGTH_LONG).show();
- swipe.setRefreshing(false);
- }
- });
- // Adding request to request queue
- RequestQueue requestQueue = Volley.newRequestQueue(this);
- requestQueue.add(jsonArrayRequest);
- }
- @Override
- public boolean onQueryTextSubmit(String query) {
- return false;
- }
- @Override
- public boolean onQueryTextChange(String newText) {
- return false;
- }
- @Override
- public boolean onCreateOptionsMenu(android.view.Menu menu) {
- getMenuInflater().inflate(R.menu.main_menu, menu);
- final MenuItem item = menu.findItem(R.id.action_search);
- final SearchView searchView = (SearchView) MenuItemCompat.getActionView(item);
- searchView.setQueryHint(getString(R.string.type_name));
- searchView.setIconified(true);
- searchView.setOnQueryTextListener(this);
- return true;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment