У меня есть внешний 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 ",
},
]
}