Android: come passare l'intento di attività precedente in una visualizzazione elenco

Aug 23 2020

Ho due attività ( Activity A, Activity B) In Activity Aho un EditText,Button and Image ViewE in attività B ho un Listview e ListView vista Contenere CustomXML conImageView,TextView,and Another TextView

nell'attività A, inserisco il nome dell'elenco in Modifica testo (Ex : Apple)e scelgo un'immagine in un GridView(Ex an Apple Image )

e passo sia Edittext che ImageView a una nuova attività in cui voglio visualizzare quei nomi in ListView (Apple e Apple Image) Come farlo

voglio visualizzare qualcosa di simile (ottengo la lista della spesa e l'immagine dall'attività precedente e voglio visualizzarle in ListView (in listview aggiungo extra gli elementi Count TEXTVIEW)

firstActivity.Java

 done.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {


                String itemname = listname.getText().toString();
                if (!TextUtils.isEmpty(listname.getText().toString())) {

                    startActivity(new Intent(getContext(), CheckslateHome.class).putExtra("data", itemname).putExtra("image", imageRes));
                    dismiss();
                } else {
                    Toast.makeText(getContext(), "List Name not Empty ", Toast.LENGTH_SHORT).show();
                }

            }

        });

La classe pubblica della seconda attività CheckslateHome estende AppCompatActivity {

TextView listcounts;


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


    Bundle bundle = getIntent().getExtras();
    if (bundle != null) {

       String itemName= bundle.getString("data");
       Int ItemImage = bundle.getString("Image");

**//How to Pass these Intents into the Custom ListView** 

    }


    listcounts = findViewById(R.id.list_count);
    ListView listView = findViewById(R.id.list1);

    CustomAdpter customAdapter = new CustomAdpter();
    listView.setAdapter(customAdapter);

   
}

public class CustomAdpter extends BaseAdapter {


   
    private Context context;
    private LayoutInflater layoutInflater;


    @Override
    public int getCount() {
      
    }

    @Override
    public Object getItem(int i) {
        return null;
    }

    @Override
    public long getItemId(int i) {
        return 0;
    }

    @Override
    public View getView(int i, View view, ViewGroup viewGroup) {

        if (view == null) {
            view = layoutInflater.inflate(R.layout.rowlayout, viewGroup, false);

        }


        ImageView imageicons = view.findViewById(R.id.image_list);
        TextView listnames = view.findViewById(R.id.list_name);

       


        return view;
    }
}

Risposte

AlirezaTabatabaeian Aug 23 2020 at 19:52

Consiglio vivamente di utilizzare una combinazione di frammenti e navigazione, in questo modo puoi navigare facilmente attraverso la tua app e inviare valori tra i frammenti utilizzando il plugin safe-args

ma se continui a usare l'attività, dovresti usare startActivityForResultper chiamare la seconda attività.