Android:如何将先前的活动意图传递到Listview中 [英] Android : How to Pass the previous Activity Intent into a Listview

查看:82
本文介绍了Android:如何将先前的活动意图传递到Listview中的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有两个活动(活动A,活动B ),在活动A 中,我有一个 EditText,Button和Image View ,在活动B ,我有一个 Listview ,并且listView视图包含具有 ImageView,TextView和另一个TextView

的CustomXml

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

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

我想显示类似的内容(我从上一个活动中获得了杂货清单和图像,我想在ListView中显示(在listview中,我还添加了Count TEXTVIEW)

firstActivity.Java

  done.setOnClickListener(new View.OnClickListener(){@Overridepublic void onClick(View v){字符串itemname = listname.getText().toString();如果(!TextUtils.isEmpty(listname.getText().toString())){startActivity(new Intent(getContext(),CheckslateHome.class).putExtra(数据",项名).putExtra("image",imageRes));解雇();} 别的 {Toast.makeText(getContext(),列表名称不为空",Toast.LENGTH_SHORT).show();}}}); 

第二活动公共类CheckslateHome扩展了AppCompatActivity {

  TextView列表计数;@Override受保护的void onCreate(Bundle savedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.activity_checkslate_home);捆绑包bundle = getIntent().getExtras();if(bundle!= null){字符串itemName = bundle.getString("data");Int ItemImage = bundle.getString("Image");**//如何将这些意图传递给自定义ListView **}listcounts = findViewById(R.id.list_count);ListView listView = findViewById(R.id.list1);CustomAdpter customAdapter = new CustomAdpter();listView.setAdapter(customAdapter);}公共类CustomAdpter扩展了BaseAdapter {私有上下文上下文;私有LayoutInflater layoutInflater;@Overridepublic int getCount(){}@Override公共对象getItem(int i){返回null;}@Override公共长getItemId(int i){返回0;}@Overridepublic 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);返回视图}} 

解决方案

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

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

I have Two Activity ( Activity A, Activity B) In Activity A i have a EditText,Button and Image View And in Activity B i have a Listview and the listView View Contain CustomXml with ImageView,TextView,and Another TextView

in Activity A, i enter List Name in Edit Text (Ex : Apple) and i Chose One Image ina GridView (Ex an Apple Image )

and i pass Both the Edittext and ImageView to a new Activity Where i want to Display Those names in ListView (Apple and Apple Image) How to DO that

i want to display something like this ( i get the Grocery List and Image From the Previous Activity and i want to display in ListView( in listview i extra add the items 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();
                }

            }

        });

Second Activity 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;
    }
}

解决方案

I Highly suggest using a combination of Fragments and navigation, in this way you can easily navigate through your app and send values between fragments using safe-args plugin

but if you persist on using activity, you should use startActivityForResult to call second activity.

这篇关于Android:如何将先前的活动意图传递到Listview中的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆