Android:如何将上一个Activity的Intent传递到ListView中

3

我有两个Activity (活动A,活动B) 在活动A中,我有一个EditText,Button和ImageView。在活动B中,我有一个ListView,ListView视图包含CustomXml和ImageView,TextView和另一个TextView

在活动A中,我在编辑文本框中输入列表名称 (例如:苹果) ,并在GridView中选择一个图片 (例如苹果图片)

然后,我将编辑文本框和ImageView传递到新的Activity,在那里我想显示这些名称在ListView中(苹果和苹果图片)。如何实现?

enter image description here

我想要展示类似于这样的东西(我从之前的Activity中获取了杂货列表和图像,并希望在ListView中展示(在listview中我额外添加了项目数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();
                }

            }

        });

第二个活动 public class CheckslateHome extends 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;
    }
}

你必须使用一个列表。按照这个例子来填充列表视图。 - sadat
@sadat,您忘记添加链接了。 - Kingg
定制化数组适配器轻松实现 - sadat
@sadat请检查我的更新解释。 - Kingg
你必须将你的列表存储在持久化存储中。 - sadat
1个回答

0
我强烈建议使用Fragment和导航的组合,这样你可以轻松地浏览应用程序并使用safe-args插件在片段之间发送值。
但是如果您坚持使用Activity,则应使用startActivityForResult来调用第二个Activity。

我将它传递到下一个活动中,它能够正常工作,但是我不知道如何将其传递到ListView中。 - Kingg
请检查我的更新说明。 - Kingg

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接