Advertisement
Guest User

Untitled

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