Hi i have successfully retrieved some data from my php url from my database but am stuck at trying to get data for specific date using date picker the code below am able to get data of the current day but how do i get data using date picker on the floating action button.
I have placed the material date picker but how do i parse or filter the json data using the date that i obtain from the date pickerclick listener.
public class MainActivity extends AppCompatActivity {
private ArrayList<Games> gamesList;
private GamesAdapter mGamesAdapter;
//the recyclerview
private RecyclerView recyclerView;
private RequestQueue mRequestQueue;
private SwipeRefreshLayout swipeRefreshLayout;
private FloatingActionButton floatingActionButton;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
recyclerView = findViewById(R.id.recyclerView);
floatingActionButton = findViewById(R.id.floatingActionButton);
recyclerView.setHasFixedSize(true);
recyclerView.setLayoutManager(new LinearLayoutManager(this));
gamesList = new ArrayList<>();
mGamesAdapter = new GamesAdapter(this, gamesList);
recyclerView.setAdapter(mGamesAdapter);
swipeRefreshLayout = findViewById(R.id.swipelayout);
swipeRefreshLayout.setColorSchemeResources(R.color.blue, R.color.lightBlue, R.color.deepPurple,
R.color.purple, R.color.pink, R.color.orange, R.color.red);
swipeRefreshLayout.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
@Override
public void onRefresh() {
loadGames();
//swipeRefreshLayout.setRefreshing(true);
Toast.makeText(MainActivity.this, "Swipe down to Refresh the matches.", Toast.LENGTH_SHORT).show();
}
});
Calendar calendar = Calendar.getInstance(TimeZone.getTimeZone("UTC"));
calendar.clear();
Long today = MaterialDatePicker.todayInUtcMilliseconds();
//Material Date Picker
MaterialDatePicker.Builder builder = MaterialDatePicker.Builder.datePicker();
builder.setTitleText("SELECT A DATE");
builder.setSelection(today);
MaterialDatePicker materialDatePicker = builder.build();
floatingActionButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
materialDatePicker.show(getSupportFragmentManager(), "DATE_PICKER");
}
});
materialDatePicker.addOnPositiveButtonClickListener(new MaterialPickerOnPositiveButtonClickListener() {
@Override
public void onPositiveButtonClick(Object selection) {
// mTextView.setText("Selected Date : "+materialDatePicker.getHeaderText());
}
});
mRequestQueue = Volley.newRequestQueue(this);
}
@Override
protected void onStart() {
loadGames();
super.onStart();
}
private void loadGames() {
swipeRefreshLayout.setRefreshing(true);
final String today_date = new SimpleDateFormat("yyyy-MM-dd", Locale.getDefault()).format(new Date());
String urlJsonObj = "https://surebetsapp.com/json_get_data.php";
gamesList.clear();
JsonObjectRequest request = new JsonObjectRequest(Request.Method.GET, urlJsonObj, null,
new Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONObject response) {
try {
JSONArray jsonArray = response.getJSONArray("server_response");
for (int i = 0; i < jsonArray.length(); i++) {
JSONObject serverResponse = jsonArray.getJSONObject(i);
Games game = new Games();
game.country = serverResponse.getString("league");
//game.league = serverResponse.getString("country");
game.home = serverResponse.getString("home_team");
game.away = serverResponse.getString("away_team");
game.tip = serverResponse.getString("pick");
//game.odd = serverResponse.getString("bet_odds");
game.time = serverResponse.getString("m_time");
game.result = serverResponse.getString("outcome");
game.outcome = serverResponse.getString("result");
game.logo = serverResponse.getString("league_logo");
game.h_logo = serverResponse.getString("h_logo_path");
game.a_logo = serverResponse.getString("a_logo_path");
String date = serverResponse.getString("m_date");
String mDate = date.substring(0, 10);
if (mDate.equals(today_date)) {
gamesList.add(game);
}/* else (mDate.equals()) {
}*/
mGamesAdapter.notifyDataSetChanged();
//gamesList.add(new Games(time, country, tip, league, home, away, odd, result, outcome, logo, h_logo, a_logo));
}
//mGamesAdapter = new GamesAdapter(MainActivity.this, gamesList);
//recyclerView.setAdapter(mGamesAdapter);
} catch (JSONException e) {
e.printStackTrace();
}
swipeRefreshLayout.setRefreshing(false);
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
swipeRefreshLayout.setRefreshing(false);
Log.d(TAG, "onErrorResponse: "+error);
}
});
mRequestQueue.add(request);
}