Показать только одну часть данных в просмотр списка и получить все значения в новой деятельности android studio? - PullRequest
0 голосов
/ 21 апреля 2020

У меня есть вопрос. Я новичок в android studio и попробовал много разных вещей для тестирования. Теперь я создал небольшую программу, в которой я могу нажать кнопку, и она начинает новое действие со списком, который показывает мне некоторые данные из mysql, извлеченные из json данных.

У меня это пока что что, когда вы щелкаете продукт в представлении списка, он открывается как тестирование нового действия с просмотром текста и показывает данные, прошедшие из списка.

Моя проблема заключается в следующем.

Я хочу загрузите все данные из выбранной строки в виде списка и покажите эти данные в новом действии.

Но как мне это сделать?

Кодовая часть, которая у меня есть для loadintolistview, такова:

    private void loadIntoListView(String json) throws JSONException {
    JSONArray jsonArray = new JSONArray(json);
    String[] stocks = new String[jsonArray.length()];
    //String[] stockstot = new String[jsonArray.length()];
    for (int i = 0; i < jsonArray.length(); i++) {
        JSONObject obj = jsonArray.getJSONObject(i);
        stocks[i] = obj.getString("DatumTot") + " " +  obj.getString("Product")+ " " + obj.getString("Prod_Nr")+ " " + obj.getString("Batch_Nr")+ " " + obj.getString("Orders")+ " " + obj.getString("Lijn")+ " " + obj.getString("FP");
        //stockstot[i] = obj.getString("DatumTot") + " " +obj.getString("Product")+ " " +obj.getString("Prod_Nr")+ " " +obj.getString("Batch_Nr")+ " " +obj.getString("Orders")+ " " +obj.getString("Lijn")+ " " +obj.getString("FP")+ " " +obj.getString("PeroxideType")+ " " +obj.getString("PeroxideProcent")+ " " +obj.getString("FlakeA")+ " " +obj.getString("FlakeSiloA")+ " " +obj.getString("FlakeB")+ " " +obj.getString("FlakeSiloB")+ " " +obj.getString("AggloProcent")+ " " +obj.getString("AggloSilo")+ " " +obj.getString("RecycleProcent")+ " " +obj.getString("RecycleSilo")+ " " +obj.getString("MVRml10ml")+ " " +obj.getString("MVRSTD")+ " " +obj.getString("MFRg10ml")+ " " +obj.getString("AshProcent")+ " " +obj.getString("VochtProcent")+ " " +obj.getString("KleurL")+ " " +obj.getString("KleurA")+ " " +obj.getString("KleurB")+ " " +obj.getString("Operator1")+ " " +obj.getString("FlakeType1")+ " " +obj.getString("FlakeType2")+ " " +obj.getString("Productielijn1")+ " " +obj.getString("Productielijn2")+ " " +obj.getString("FlakeBatchNr1")+ " " +obj.getString("FlakeBatchNr2")+ " " +obj.getString("FlakeVochtProcent1")+ " " +obj.getString("FlakeVochtProcent2")+ " " +obj.getString("FlakeKleurL1")+ " " +obj.getString("FlakeKleurL2")+ " " +obj.getString("FlakeKleurA1")+ " " +obj.getString("FlakeKleurA2")+ " " +obj.getString("FlakeKleurB1")+ " " +obj.getString("FlakeKleurB2")+ " " +obj.getString("Remark1")+ " " +obj.getString("Remark2")+ " " +obj.getString("Remark3")+ " " +obj.getString("MeltDens")+ " " +obj.getString("Reg_sample");

    }
    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<?> parent, View view, int position, long id) {
            String selectedItem = (String) parent.getItemAtPosition(position);

            //Create the bundle
            Bundle bundle = new Bundle();

            //Add your data to bundle
            bundle.putString("stuff", selectedItem);

            Toast.makeText(getApplicationContext(), selectedItem, Toast.LENGTH_LONG).show();//display the text of button1
            Intent appInfo = new Intent(Extrusie1Activity.this, Extrusion1infoActivity.class);

            //Add the bundle to the intent
            appInfo.putExtras(bundle);

            startActivity(appInfo);
        }
    });

}

Как видите, часть со String [] stockstot - это все данные, которые я хочу видеть в новом действии. Есть кто-то, кто может мне помочь?

1 Ответ

1 голос
/ 21 апреля 2020

Когда вы щелкаете по элементу, к которому у вас уже есть доступ, просто передайте его через намерение для следующего действия, подобного этому:

update

сделать это :

 ..........
 JSONArray jsonArray = new JSONArray(json);
 //add this
 List<String> items = new ArrayList<String>();
 String[] stocks = new String[jsonArray.length()];

л oop

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

    JSONObject obj = jsonArray.getJSONObject(i);
    stocks[i] = obj.getString("DatumTot") + " " +  obj.getString("Product")+ " " + obj.getString("Prod_Nr")+ " " + obj.getString("Batch_Nr")+ " " + obj.getString("Orders")+ " " + obj.getString("Lijn")+ " " + obj.getString("FP");


    String full = obj.getString("DatumTot") + " " +obj.getString("Product")+ " " +obj.getString("Prod_Nr")+ " " +obj.getString("Batch_Nr")+ " " +obj.getString("Orders")+ " " +obj.getString("Lijn")+ " " +obj.getString("FP")+ " " +obj.getString("PeroxideType")+ " " +obj.getString("PeroxideProcent")+ " " +obj.getString("FlakeA")+ " " +obj.getString("FlakeSiloA")+ " " +obj.getString("FlakeB")+ " " +obj.getString("FlakeSiloB")+ " " +obj.getString("AggloProcent")+ " " +obj.getString("AggloSilo")+ " " +obj.getString("RecycleProcent")+ " " +obj.getString("RecycleSilo")+ " " +obj.getString("MVRml10ml")+ " " +obj.getString("MVRSTD")+ " " +obj.getString("MFRg10ml")+ " " +obj.getString("AshProcent")+ " " +obj.getString("VochtProcent")+ " " +obj.getString("KleurL")+ " " +obj.getString("KleurA")+ " " +obj.getString("KleurB")+ " " +obj.getString("Operator1")+ " " +obj.getString("FlakeType1")+ " " +obj.getString("FlakeType2")+ " " +obj.getString("Productielijn1")+ " " +obj.getString("Productielijn2")+ " " +obj.getString("FlakeBatchNr1")+ " " +obj.getString("FlakeBatchNr2")+ " " +obj.getString("FlakeVochtProcent1")+ " " +obj.getString("FlakeVochtProcent2")+ " " +obj.getString("FlakeKleurL1")+ " " +obj.getString("FlakeKleurL2")+ " " +obj.getString("FlakeKleurA1")+ " " +obj.getString("FlakeKleurA2")+ " " +obj.getString("FlakeKleurB1")+ " " +obj.getString("FlakeKleurB2")+ " " +obj.getString("Remark1")+ " " +obj.getString("Remark2")+ " " +obj.getString("Remark3")+ " " +obj.getString("MeltDens")+ " " +obj.getString("Reg_sample");

   //add to list

   items.add(full);

}

щелкните элемент:

listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
    @Override
    public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
        String selectedItem = (String) parent.getItemAtPosition(position);

        //get the full item to pass

        String fullItem = items.get(postion);

        Intent appInfo = new Intent(Extrusie1Activity.this, Extrusion1infoActivity.class);

        appInfo.putExtra("data",fullItem);

        startActivity(appInfo);
    }
});

В действии Extrusion1infoActivity при создании ():

String dataToShow = getIntent().getStringExtra("data");
...