У меня есть столбцы базы данных, подобные этой:
Имя | Статус
Testtraining1 |2
Testtraining2 |1
Testtraining3 |1
Список правильно работает для столбца «Имя».( Вот изображение этого )
public class list_training extends AppCompatActivity {
ListView listView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_list_training);
listView = (ListView) findViewById(R.id.listView);
downloadJSON("http://nrtix/stock_service.php");
}
private void downloadJSON(final String urlWebService) {
class DownloadJSON extends AsyncTask<Void, Void, String> {
@Override
protected void onPreExecute() {
super.onPreExecute();
}
@Override
protected void onPostExecute(String s) {
super.onPostExecute(s);
// Toast.makeText(getApplicationContext(), s, Toast.LENGTH_SHORT).show();
try {
loadIntoListView(s);
} catch (JSONException e) {
e.printStackTrace();
}
}
@Override
protected String doInBackground(Void... voids) {
try {
URL url = new URL(urlWebService);
HttpURLConnection con = (HttpURLConnection) url.openConnection();
StringBuilder sb = new StringBuilder();
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(con.getInputStream()));
String json;
while ((json = bufferedReader.readLine()) != null) {
sb.append(json + "\n");
}
return sb.toString().trim();
} catch (Exception e) {
return null;
}
}
}
DownloadJSON getJSON = new DownloadJSON();
getJSON.execute();
}
private void loadIntoListView(String json) throws JSONException {
JSONArray jsonArray = new JSONArray(json);
final String[] stocks = new String[jsonArray.length()];
for (int i = 0; i < jsonArray.length(); i++) {
JSONObject obj = jsonArray.getJSONObject(i);
stocks[i] = obj.getString("Name"); //+ " " + obj.getString("Status");;
}
ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, stocks);
listView.setAdapter(arrayAdapter);
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
Toast.makeText(list_training.this,stocks[i],Toast.LENGTH_SHORT).show();
}
});
}
}
Но проблема в том, я хочу, чтобы приложение, если элемент нажимается, чтобы проверить в базе данных, если «Статус» вта же строка равна 1 или 2, и при условии, что для начала действия, для каждого результата, например:
пользователь нажимает Testtraining1
tmpstatus = 2;
Status = tmpstatus;
if (Status == 1)
startActivity(secondActivity)
else
startActivity(thirdActivity)
Я надеюсь, что вы можете помочь мне, я нашелв Интернете нет ничего, что решило бы мою проблему.
РЕДАКТИРОВАТЬ: Я решил проблему, инициализировав второй массив только с объектом "Status".
public void loadIntoListView(String json) throws JSONException {
JSONArray jsonArray = new JSONArray(json);
final String[] stocks = new String[jsonArray.length()];
final String[] calc = new String[jsonArray.length()];
for (int i = 0; i < jsonArray.length(); i++) {
JSONObject obj = jsonArray.getJSONObject(i);
stocks[i] = obj.getString("Name");
calc[i] = obj.getString("Status");
}
ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, stocks);
listView.setAdapter(arrayAdapter);
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
//Toast.makeText(list_training.this, calc[i],Toast.LENGTH_SHORT).show();
//Intent intent = new Intent(list_training)
//String value = (String)adapterView.getItemAtPosition(i);
String status= calc[i];
//Toast.makeText(list_training.this,status,Toast.LENGTH_SHORT).show();
//Toast.makeText(getApplicationContext(), value, Toast.LENGTH_LONG).show();
int istatus = Integer.parseInt(status);
if (istatus == 1 ){
Intent activity1 = new Intent(list_training.this, first_activity.class);
startActivity(activity1);
}
else {
Intent activity2 = new Intent(list_training.this, MainActivity.class);
startActivity(activity2);
}
}
});
}