Advertisement
yoesuv

Main Activity Retrofit

Apr 18th, 2016
1,241
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.24 KB | None | 0 0
  1. package com.yoesuv.demoretrofit;
  2.  
  3. import android.app.ProgressDialog;
  4. import android.content.Intent;
  5. import android.support.v7.app.AppCompatActivity;
  6. import android.os.Bundle;
  7. import android.support.v7.widget.Toolbar;
  8. import android.util.Log;
  9. import android.view.View;
  10. import android.widget.AdapterView;
  11. import android.widget.ArrayAdapter;
  12. import android.widget.ListView;
  13.  
  14. import java.util.Arrays;
  15. import java.util.List;
  16.  
  17. import retrofit2.Call;
  18. import retrofit2.Callback;
  19. import retrofit2.Response;
  20. import retrofit2.Retrofit;
  21. import retrofit2.converter.gson.GsonConverterFactory;
  22.  
  23. public class MainActivity extends AppCompatActivity {
  24.  
  25.     private ListView listView_tempat;
  26.     private ArrayAdapter<String> adapter;
  27.     private ProgressDialog pDialog;
  28.     private String[] dataGambar;
  29.  
  30.     @Override
  31.     protected void onCreate(Bundle savedInstanceState) {
  32.         super.onCreate(savedInstanceState);
  33.         setContentView(R.layout.activity_main);
  34.  
  35.         Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
  36.         setSupportActionBar(toolbar);
  37.         if(getSupportActionBar()!=null){
  38.             getSupportActionBar().setElevation(5);
  39.         }
  40.  
  41.         listView_tempat = (ListView) findViewById(R.id.listView_tempat);
  42.         adapter = new ArrayAdapter<>(this, android.R.layout.simple_list_item_1);
  43.         pDialog = new ProgressDialog(this);
  44.  
  45.         loadTempat();
  46.  
  47.         listView_tempat.setOnItemClickListener(new AdapterView.OnItemClickListener() {
  48.             @Override
  49.             public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
  50.                 Intent i = new Intent(view.getContext(), MainImage.class);
  51.                 i.putExtra(MainImage.EXTRA_NAMA,adapter.getItem(position));
  52.                 i.putExtra(MainImage.EXTRA_IMAGE, dataGambar[position]);
  53.                 startActivity(i);
  54.             }
  55.         });
  56.     }
  57.  
  58.  
  59.     private void loadTempat(){
  60.  
  61.         pDialog.setMessage("Please Wait...");
  62.         pDialog.setCancelable(false);
  63.         pDialog.setCanceledOnTouchOutside(false);
  64.         pDialog.show();
  65.  
  66.         Retrofit retrofit = new Retrofit.Builder().baseUrl(getResources().getString(R.string.url_json))
  67.                 .addConverterFactory(GsonConverterFactory.create()).build();
  68.  
  69.         DataInterface dataInterface = retrofit.create(DataInterface.class);
  70.  
  71.         Call<List<DataTempat>> callData = dataInterface.callTempat();
  72.         callData.enqueue(new Callback<List<DataTempat>>() {
  73.             @Override
  74.             public void onResponse(Call<List<DataTempat>> call, Response<List<DataTempat>> response) {
  75.                 if (response.isSuccessful()) {
  76.                     int i = 0;
  77.                     dataGambar = new String[response.body().size()];
  78.                     for (DataTempat tempat : response.body()) {
  79.                         adapter.add(tempat.getNama());
  80.                         dataGambar[i] = tempat.getGambar();
  81.                         i++;
  82.                     }
  83.                     listView_tempat.setAdapter(adapter);
  84.                     pDialog.dismiss();
  85.                 }
  86.             }
  87.  
  88.             @Override
  89.             public void onFailure(Call<List<DataTempat>> call, Throwable t) {
  90.  
  91.             }
  92.         });
  93.  
  94.  
  95.     }
  96. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement