Advertisement
Guest User

Untitled

a guest
Mar 22nd, 2018
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.49 KB | None | 0 0
  1. package com.example.myasynctaskloader;
  2.  
  3. import android.os.Bundle;
  4. import android.app.LoaderManager;
  5. import android.content.Loader;
  6. import android.support.v7.app.AppCompatActivity;
  7. import android.text.TextUtils;
  8. import android.view.View;
  9. import android.widget.Button;
  10. import android.widget.EditText;
  11. import android.widget.ListView;
  12.  
  13.  
  14.  
  15. import java.util.ArrayList;
  16.  
  17. public class MainActivity extends AppCompatActivity implements LoaderManager.LoaderCallbacks<ArrayList<WeatherItems>> {
  18.  
  19. ListView listView ;
  20. WeatherAdapter adapter;
  21. EditText editKota;
  22. Button buttonCari;
  23.  
  24. static final String EXTRAS_CITY = "EXTRAS_CITY";
  25. @Override
  26. protected void onCreate(Bundle savedInstanceState) {
  27. super.onCreate(savedInstanceState);
  28. setContentView(R.layout.activity_main);
  29.  
  30. adapter = new WeatherAdapter(this);
  31. adapter.notifyDataSetChanged();
  32. listView = (ListView)findViewById(R.id.listView);
  33.  
  34. listView.setAdapter(adapter);
  35.  
  36. editKota = (EditText)findViewById(R.id.edit_kota);
  37. buttonCari = (Button)findViewById(R.id.btn_kota);
  38.  
  39. buttonCari.setOnClickListener(myListener);
  40.  
  41. String kota = editKota.getText().toString();
  42. Bundle bundle = new Bundle();
  43. bundle.putString(EXTRAS_CITY,kota);
  44.  
  45.  
  46. getLoaderManager().initLoader(0, bundle, this);
  47. }
  48.  
  49. //Fungsi ini yang akan menjalankan proses myasynctaskloader
  50. @Override
  51. public Loader<ArrayList<WeatherItems>> onCreateLoader(int id, Bundle args) {
  52.  
  53. String kumpulanKota = "";
  54. if (args != null){
  55. kumpulanKota = args.getString(EXTRAS_CITY);
  56. }
  57.  
  58. return new MyAsyncTaskLoader(this,kumpulanKota);
  59. }
  60.  
  61. //Fungsi ini dipanggil ketika proses load sudah selesai
  62. @Override
  63. public void onLoadFinished(Loader<ArrayList<WeatherItems>> loader, ArrayList<WeatherItems> data) {
  64.  
  65. adapter.setData(data);
  66. }
  67.  
  68.  
  69.  
  70. @Override
  71. public void onLoaderReset(Loader<ArrayList<WeatherItems>> loader) {
  72. adapter.setData(null);
  73.  
  74. }
  75.  
  76. View.OnClickListener myListener = new View.OnClickListener() {
  77. @Override
  78. public void onClick(View v) {
  79. String kota = editKota.getText().toString();
  80.  
  81.  
  82. if (TextUtils.isEmpty(kota))return;
  83.  
  84. Bundle bundle = new Bundle();
  85. bundle.putString(EXTRAS_CITY,kota);
  86. getLoaderManager().restartLoader(0,bundle,MainActivity.this);
  87. }
  88. };
  89. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement