Android:如何将以前的 Activity Intent 传递到 Listview

Posted

技术标签:

【中文标题】Android:如何将以前的 Activity Intent 传递到 Listview【英文标题】:Android : How to Pass the previous Activity Intent into a Listview 【发布时间】:2020-12-12 06:22:39 【问题描述】:

我有两个 Activity (Activity A, Activity B) 在 Activity A 我有一个 EditText,Button and Image ViewActivity B 我有一个 Listview 和 listView 视图包含 CustomXml ImageView,TextView,and Another TextView

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

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

我想显示这样的东西(我从上一个活动中获取杂货清单和图像,我想在 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();
                

            

        );

第二个活动 公共类 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;
    

【问题讨论】:

你必须使用一个列表。按照此示例填充列表视图。 @sadat 你忘记添加链接 对不起:D medium.com/mindorks/… @sadat 请检查我更新的解释 您必须将列表保存在持久存储中。 【参考方案1】:

我强烈建议结合使用 Fragments 和导航,这样您就可以轻松地在应用中导航并使用 safe-args 插件在 Fragment 之间发送值

但如果你坚持使用activity,你应该使用startActivityForResult调用第二个activity。

【讨论】:

我传递到下一个活动它可以工作,但我不知道如何将它传递到 ListVIew 请检查我更新的解释

以上是关于Android:如何将以前的 Activity Intent 传递到 Listview的主要内容,如果未能解决你的问题,请参考以下文章

如何让Android横竖屏切换时不销毁当前activity

如何在Android中清除以前打开的活动

Android PendingIntent 启动Activity

Android 如何获取activity返回的数据?

如何在 android Kotlin 中获取以前的活动

我如何知道或定义主 Activity (AIR for Android)