Advertisement
erwinprasetyo97

MainActivity.java

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