Advertisement
Guest User

Untitled

a guest
Nov 18th, 2017
65
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.78 KB | None | 0 0
  1. package com.a2pim.better;
  2.  
  3. import android.content.Intent;
  4. import android.os.Bundle;
  5. import android.support.v7.app.AppCompatActivity;
  6. import android.util.Log;
  7. import android.widget.Adapter;
  8. import android.widget.ArrayAdapter;
  9. import android.widget.ListAdapter;
  10. import android.widget.ListView;
  11.  
  12. import com.android.volley.Request;
  13. import com.android.volley.RequestQueue;
  14. import com.android.volley.toolbox.StringRequest;
  15. import com.android.volley.toolbox.Volley;
  16.  
  17. import org.json.JSONArray;
  18. import org.json.JSONException;
  19. import org.json.JSONObject;
  20.  
  21. import java.lang.reflect.Array;
  22. import java.util.ArrayList;
  23. import java.util.Arrays;
  24. import java.util.HashMap;
  25. import java.util.List;
  26. import java.util.Map;
  27.  
  28. public class MainActivity extends AppCompatActivity {
  29.     static String BET_ID = "bet_id";
  30.  
  31.     private ListView listView;
  32.     private Map<String, Integer> lotTitleId = new HashMap<>();
  33.     private List<String> lotNames = new ArrayList<>();
  34.     private ArrayAdapter lotNamesAdapter;
  35.  
  36.     @Override
  37.     protected void onCreate(Bundle savedInstanceState) {
  38.         super.onCreate(savedInstanceState);
  39.         setContentView(R.layout.activity_main);
  40.  
  41.         Intent intent = getIntent();
  42.  
  43.         String username = intent.getStringExtra(LoginActivity.USERNAME);
  44.         Log.d("username = ", username);
  45.         // todo: api
  46.  
  47. /*
  48.         bets = new ArrayList<>();
  49.         bets.add(new Bet("Bet 1", null, null, "1337"));
  50.         bets.add(new Bet("Bet 2", null, null, "1997"));
  51.         bets.add(new Bet("Bet 3", null, null, "2000"));*/
  52.  
  53. //        lotNames = new String[] {"B1", "B2", "B3"};
  54.  
  55. //        RecyclerView betsList = findViewById(R.id.bets_listview);
  56. //        RecyclerView.LayoutManager layoutManager = new LinearLayoutManager(this);
  57. //        betsList.setLayoutManager(layoutManager);
  58. //        RecyclerView.Adapter adapter = new BetAdapter(bets, this);
  59. //        betsList.setAdapter(adapter);
  60.  
  61.         listView = findViewById(R.id.bets_listview);
  62.         lotNamesAdapter = new ArrayAdapter<String>(
  63.                 this,
  64.                 android.R.layout.simple_list_item_1,
  65.                 lotNames
  66.         );
  67.         listView.setAdapter(lotNamesAdapter);
  68.  
  69.         final MainActivity currentContext = this;
  70.         listView.setOnItemClickListener((parent, view, position, id) -> {
  71.             Intent intent1 = new Intent(currentContext, BetActivity.class);
  72.             Log.d("intent", String.valueOf(lotTitleId.get(lotNames.get(position))));
  73.             intent1.putExtra(BET_ID, lotTitleId.get(lotNames.get(position)));
  74.             startActivity(intent1);
  75.         });
  76.  
  77.  
  78.  
  79.         RequestQueue queue = Volley.newRequestQueue(this);
  80.         String url = "http://91.225.131.195/lots.json";
  81.         StringRequest stringRequest = new StringRequest(Request.Method.GET, url,
  82.                 this::setData,
  83.                 error -> {
  84.                     Log.d("bets.json err", String.valueOf(error));
  85.                 });
  86.  
  87.         queue.add(stringRequest);
  88.     }
  89.  
  90.     private void setData(String data) {
  91.         Log.d("response", data);
  92.         JSONObject response = null;
  93.         try {
  94.             response = new JSONObject(data);
  95.             JSONArray lotsJson = response.getJSONArray("lots");
  96.             lotNames.clear();
  97.             for (int i = 0; i < lotsJson.length(); i++) {
  98.                 JSONObject curr = (JSONObject) lotsJson.get(i);
  99.                 String title = curr.get("title").toString();
  100.                 Integer id = curr.getInt("id");
  101.                 lotNames.add(title);
  102.                 lotTitleId.put(title, id);
  103.             }
  104.             lotNamesAdapter.notifyDataSetChanged();
  105.             Log.d("map", String.valueOf(lotTitleId));
  106.         } catch (JSONException ignored) {
  107.             Log.d("err", ignored.getMessage());
  108.         }
  109.     }
  110. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement