Использование L oop для циклического перемещения по массиву, остановка на первом элементе и ожидание щелчка на следующем элементе в Java - PullRequest
0 голосов
/ 21 апреля 2020

У меня есть внешний API, который находится на сервере, я уже могу подключиться к нему для проверки пользователя и пароля без проблем. Как только пользователь входит в систему со своим ПОЛЬЗОВАТЕЛЕМ, он получает список задач.

Итак, у меня есть несколько массивов задач, которые будут назначены одному и тому же пользователю, и я перебираю этот массив.

Что мне нужно: мне нужно, чтобы l oop остановился на первом результате ADDRESS_ID, показывая, что такое di git - в данном случае первый ADDRESS_ID равен 415 - и подождите, пока я нажму на экран чтобы показать соответствующий CHECK_DI GIT, который появляется в том же массиве. (Я помещу свой массив в конец кода).

С этим кодом, который я публикую, я могу напечатать на экране только последний ADDRESS_ID из моего списка массивов. Но опять же, мне нужно, чтобы он остановился на первом ADDRESS_ID и подождал, пока я коснусь экрана, чтобы вызвать другую информацию.

У кого-нибудь есть идеи?

public class activity_job extends AppCompatActivity {

    private static String URL = "http://minhaURL/app2/Api/NovaTarefa/";

    String recebeCodigo = "";
    int recCodigo = 0;

    TextView txtProd;
    TextView txtEnd;
    TextView txtQntProd;

    public String showUnidade;
    public String recebeUsuarioLogin;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_job);

        txtProd = (TextView) findViewById(R.id.txtProduto);
        txtEnd = (TextView) findViewById(R.id.txtEndereco);
        txtQntProd = (TextView) findViewById(R.id.txtQntProduto);

        txtProd.setVisibility(View.INVISIBLE);
        txtEnd.setVisibility(View.INVISIBLE);
        txtQntProd.setVisibility(View.INVISIBLE);

        Bundle extras = getIntent().getExtras();

        if(extras != null){
            showUnidade = extras.getString("showUnidade");
            recebeUsuarioLogin = extras.getString("levaUsuario");
        }

        chamaApiProduto(recebeUsuarioLogin, showUnidade);

        //txtProd.setVisibility(View.VISIBLE);
        //txtProd.setText(showUnidade);
        //txtProd.setText(recebeUsuarioLogin);
    }

    private void chamaApiProduto(String BR, String unidade){
        URL = URL + BR + "/" + unidade + "/";

        StringRequest request = new StringRequest(URL, new Response.Listener<String>() {
            @Override
            public void onResponse(String response) {

                try {
                    //A biblioteca do JSONObject serve para organizar novamente o que está dentro da variável 'response' em um formato JSON.
                    JSONObject reader = new JSONObject(response);

                    //Executando a leitura do JSON e buscando o campo 'CodigoErro'
                    recebeCodigo = reader.getString("CodigoErro");

                    recCodigo = Integer.parseInt(recebeCodigo);

                    //Lendo o que esta guardado no array 'Mensagem'
                    JSONArray trendsArray = reader.getJSONArray("Mensagem");

                    //
                    JSONObject trend;

                    //Criando um Array vazio para guardar os dados da 'Tarefa'
                    List<Tarefa> filaTarefa = new ArrayList<Tarefa>();


                    for (int i = 0; i < trendsArray.length(); i++) {

                        trend = new JSONObject(trendsArray.getString(i));

                        //Criando um objeto da classe usuario
                        Tarefa objetoTarefa = new Tarefa();

                        //Preenchendo o objeto 'objetoUsuario' com os dados do Array 'Mensagem'
                        objetoTarefa.BAY_ID = trend.getString("BAY_ID");
                        objetoTarefa.ADDRESS_ID = trend.getString("ADDRESS_ID");
                        objetoTarefa.CHECK_DIGIT = trend.getString("CHECK_DIGIT");
                        objetoTarefa.BOX_ASSIGNMENT = trend.getString("BOX_ASSIGNMENT");
                        objetoTarefa.PRODUCT_DESCRIPTION_SHORT = trend.getString("PRODUCT_DESCRIPTION_SHORT");
                        objetoTarefa.PRODUCT_DESCRIPTION_LONG = trend.getString("PRODUCT_DESCRIPTION_LONG");
                        objetoTarefa.PRODUCT_DESCRIPTION_PHONETIC = trend.getString("PRODUCT_DESCRIPTION_PHONETIC");

                        //Adicionando o objeto na lista de objetos usuarios
                        filaTarefa.add(objetoTarefa);

                    }

                    executaTarefa(filaTarefa);

                } catch (JSONException e) {
                    e.printStackTrace();
                }

            }
        }, new Response.ErrorListener() {
            @Override
            public void onErrorResponse(VolleyError error) {
                Toast.makeText(activity_job.this, "Nao chegou", Toast.LENGTH_SHORT).show();
            }
        });
        RequestQueue queue = Volley.newRequestQueue(this);
        queue.add(request);
    }

    private void executaTarefa(List<Tarefa> filaTarefa){

        for (Tarefa obj : filaTarefa) {
            txtEnd.setVisibility(View.VISIBLE);
            txtEnd.setText(obj.ADDRESS_ID);
        }

    }
}



MY ARRAY


"CodigoErro": 1, "Mensagem": [

    {
        "BAY_ID": "7",

        "ADDRESS_ID": "415",
        "CHECK_DIGIT": "865",
        "BOX_ASSIGNMENT": "206",
        "PRODUCT_DESCRIPTION_SHORT": "asdasdadsdas",
        "PRODUCT_DESCRIPTION_LONG": "asdasdadsdas asdasdadsd",
        "PRODUCT_DESCRIPTION_PHONETIC": "asdasdadsdas ",

    },
    {
        "BAY_ID": "7",

        "ADDRESS_ID": "412",
        "CHECK_DIGIT": "862",
        "BOX_ASSIGNMENT": "206",
        "PRODUCT_DESCRIPTION_SHORT": "asdasdadsdas",
        "PRODUCT_DESCRIPTION_LONG": "asdasdadsdas asdasdadsd",
        "PRODUCT_DESCRIPTION_PHONETIC": "asdasdadsdas ",

    },
    {
        "BAY_ID": "7",

        "ADDRESS_ID": "427",
        "CHECK_DIGIT": "877",
        "BOX_ASSIGNMENT": "206",
        "PRODUCT_DESCRIPTION_SHORT": "asdasdadsdas",
        "PRODUCT_DESCRIPTION_LONG": "asdasdadsdas asdasdadsd",
        "PRODUCT_DESCRIPTION_PHONETIC": "asdasdadsdas ",

    },
]
}

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...