Android:如何将先前的活动意图传递到Listview中

问题描述

我有两个活动(Activity A,Activity B,在Activity A我有一个EditText,Button and Image View,在活动B 中,我有一个列表视图并且listView视图包含带有ImageView,TextView,and Another TextView

的CustomXml

在活动A中,我在编辑文本(Ex : Apple)中输入列表名称,然后在GridView (Ex an Apple Image )中选择一个图像

我将Edittext和ImageView都传递到一个新的Activity,我想在ListView中显示这些名称(Apple和Apple Image)。

enter image description here

我想显示类似的内容(我从上一个活动中获得了杂货清单和图像,并且想在ListView中显示(在listview中,我还添加了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();
                }

            }

        });

第二活动 公共类CheckslateHome扩展了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;
    }
}

解决方法

我强烈建议结合使用片段和导航,通过这种方式,您可以轻松浏览应用程序并使用safe-args插件在片段之间发送值

但是如果您坚持使用活动,则应该使用startActivityForResult来调用第二个活动。