Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.example.work.apptesteedeploy;
- import android.app.LauncherActivity;
- import android.app.ProgressDialog;
- import android.support.v4.view.MenuItemCompat;
- import android.support.v7.app.AppCompatActivity;
- import android.os.Bundle;
- import android.support.v7.widget.LinearLayoutManager;
- import android.support.v7.widget.RecyclerView;
- import android.text.Editable;
- import android.text.TextWatcher;
- import android.widget.EditText;
- import android.widget.Toolbar;
- import com.android.volley.Request;
- import com.android.volley.RequestQueue;
- import com.android.volley.VolleyError;
- import com.android.volley.toolbox.StringRequest;
- import com.android.volley.toolbox.Volley;
- import org.json.JSONArray;
- import org.json.JSONException;
- import org.json.JSONObject;
- import java.util.ArrayList;
- import java.util.List;
- public class MainActivity extends AppCompatActivity{
- private static final String URL_DATA = "http://wsteste.devedp.com.br/Master/CidadeServico.svc/rest/BuscaTodasCidades";
- private Toolbar toolbar;
- private RecyclerView recyclerView;
- private RecyclerView.Adapter adapter;
- private List<Card> cardList;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_main);
- //final ListView listView = findViewById(R.id.listView);
- toolbar = (Toolbar) findViewById(R.id.action_search);
- recyclerView = (RecyclerView) findViewById(R.id.recyclerView);
- recyclerView.setHasFixedSize(true);
- recyclerView.setLayoutManager(new LinearLayoutManager(this));
- cardList = new ArrayList<>();
- loadRecyclerViewData();
- EditText editText = findViewById(R.id.edittext);
- editText.addTextChangedListener(new TextWatcher() {
- @Override
- public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {
- }
- @Override
- public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {
- }
- @Override
- public void afterTextChanged(Editable editable) {
- filter(editable.toString());
- }
- });
- }
- ////////////////////////////////////////////////////////////////////////////////////////////
- private void filter(String text){
- ArrayList<Card> filteredList = new ArrayList<>();
- for (Card item : cardList){ //List e não ArrayList
- if(item.getCidade().toLowerCase().contains(text.toLowerCase())){
- filteredList.add(item);
- }
- }
- //Adapter.filterList(filteredList); //Here, "filterList" is encountered, but the "non-static method" error occurs.
- adapter.filterList(filteredList);
- }
- ////////////////////////////////////////////////////////////////////////////////////////////
- private void loadRecyclerViewData(){
- final ProgressDialog progressDialog = new ProgressDialog(this);
- progressDialog.setMessage("Carregando...");
- progressDialog.show();
- StringRequest stringRequest = new StringRequest(Request.Method.GET,
- URL_DATA,
- new com.android.volley.Response.Listener<String>() {
- @Override
- public void onResponse(String response) {
- progressDialog.dismiss();
- try {
- // JSONObject jsonObject = new JSONObject(response);
- // JSONArray array = jsonObject.getJSONArray("");
- JSONArray array = new JSONArray(response);
- for(int i = 0; i<array.length(); i++){
- JSONObject o = array.getJSONObject(i);
- Card item = new Card (
- o.getString("Nome"),
- o.getString("Estado")
- );
- cardList.add(item);
- }
- adapter = new Adapter(cardList, getApplicationContext());
- recyclerView.setAdapter(adapter);
- } catch (JSONException e) {
- e.printStackTrace();
- }
- }
- },
- new com.android.volley.Response.ErrorListener() {
- @Override
- public void onErrorResponse(VolleyError error) {
- progressDialog.dismiss();
- }
- });
- RequestQueue requestQueue = Volley.newRequestQueue(this);
- requestQueue.add (stringRequest);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement