博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android在两个Activity之间传递数据
阅读量:7045 次
发布时间:2019-06-28

本文共 5781 字,大约阅读时间需要 19 分钟。

hot3.png

第一:A界面:

public class MainActivity extends Activity {            private final static int REQUEST_CODE=1;        /**     * 点击购物车按钮进入订单详细界面     */    public class StockOnClickListener implements OnClickListener{        @Override        public void onClick(View arg0) {            Intent intent=new Intent();            intent.setClass(MainActivity.this, OrderingActivity.class);                        String str="";            try {                str = MySerialize.serialize(lsorder);            } catch (IOException e) {                // TODO Auto-generated catch block                e.printStackTrace();            }            intent.putExtra("list", str);                                    if(tv_zuohao.getText().toString().equals("0号桌")||tv_zuohao.getText().toString().equals("号桌")){                                                final View view = LayoutInflater.from(getApplicationContext()).inflate(R.layout.zuohao_dialog1, null);                TextView tv_message=(TextView) view.findViewById(R.id.dialog_message);                tv_message.setVisibility(View.VISIBLE);                tv_message.setText("\t\t\t\t\t\t"+"请先输入您的桌号,方便您下单,或者点击屏幕右上角的“获取桌号”!");                                Button btok=(Button) view.findViewById(R.id.dialog_btok);                Button btresult=(Button) view.findViewById(R.id.dialog_btresult);                final EditText et_zuohao1=(EditText) view.findViewById(R.id.et_setzuohao1);                                                                                final Dialog dialog = new Dialog(MainActivity.this,R.style.dialog);//,R.style.dialog                Window dialogWindow = dialog.getWindow();                WindowManager.LayoutParams params = dialog.getWindow().getAttributes(); // 获取对话框当前的参数值                dialogWindow.setAttributes(params);                dialog.setContentView(view);                                btok.setOnClickListener(new OnClickListener() {                                        @Override                    public void onClick(View arg0) {                                                                                                zuohao=et_zuohao1.getText().toString().trim();                                                                        tv_zuohao.setText(zuohao+"号桌");                                                                        //使用SharedPreferences将桌号保存                        SharedPreferences spzuohao=getSharedPreferences("zuohao", MODE_PRIVATE);                                                Editor editor=spzuohao.edit();                                                editor.putString("zuohao",zuohao );                                                editor.commit();                                                dialog.dismiss();                                            }                });                            btresult.setOnClickListener(new OnClickListener() {                                        @Override                    public void onClick(View arg0) {                        dialog.dismiss();                    }                });                                dialog.show();                                                        }               else{                                        String zuohaostr=tv_zuohao.getText().toString();                                        intent.putExtra("zuohao", zuohaostr);                                        startActivityForResult(intent, REQUEST_CODE);                }                }            }            /**     * 从购物车返回的数据处理     * */    @SuppressWarnings("unchecked")    @Override    protected void onActivityResult(int requestCode, int resultCode, Intent data) {                if (requestCode==REQUEST_CODE)          {              if (resultCode==OrderingActivity.RESULT_CODE)              {                  Bundle bundle=data.getExtras();                  String str=bundle.getString("list");                                  //获取订单集合//                String str = intent.getExtras().getString("list");                                try {                    lsorder = (List
) MySerialize.deSerialization(str);                } catch (IOException e) {                    // TODO Auto-generated catch block                    e.printStackTrace();                } catch (ClassNotFoundException e) {                    // TODO Auto-generated catch block                    e.printStackTrace();                }                                 tvstockNum.setText("当前已选择"+String.valueOf(lsorder.size())+"道菜"+"\n"+"选好后记得点我下单哦!");            }                         if (!seclecMode) {                // 图片模式刷新                                tpAdapter.notifyDataSetChanged();            }        }        }}

上面这段代码是从A界面跳转到B界面,需注意的是我们在跳转时用到

startActivityForResult(intent, REQUEST_CODE);

里面传两个参数(intent 和 请求码),并在A界面重写onActivityRusult()方法,接收从B界面改变集合后的数据,建议先看B界面的代码

B界面:

public class OrderingActivity extends Activity {    public final static int RESULT_CODE=1;        // 返回监听    public class BackClickListener implements OnClickListener {        @Override        public void onClick(View arg0) {            // TODO Auto-generated method stub                                    Intent in=new Intent();                                    String str="";                        try {                                str = MySerialize.serialize(lsob);                            } catch (IOException e) {                // TODO Auto-generated catch block                e.printStackTrace();            }            in.putExtra("list", str);                        setResult(RESULT_CODE, in);                          finish();                                }    }}

B界面我们将改变后的集合传回A界面,使用了setResult()这个方法,然后在使用finish()方法传回

转载于:https://my.oschina.net/symahll/blog/490682

你可能感兴趣的文章
js-ES6学习笔记-Proxy(2)
查看>>
Spring Boot下Druid连接池+mybatis
查看>>
Session与Cookie解析
查看>>
Java实现二叉排序树的插入、查找、删除
查看>>
Delphi线程定时器TThreadedTimer及用法--还有TThreadList用法可以locklist
查看>>
UVA 12124 UVAlive 3971 Assemble(二分 + 贪心)
查看>>
EventBus In eShop -- 解析微软微服务架构Demo(四)
查看>>
使用Python写的第一个网络爬虫程序
查看>>
找到当前mysql group replication 环境的primary结点
查看>>
正确的C++/C堆栈
查看>>
使用Swagger生成Spring Boot REST客户端(支持Feign)(待实践)
查看>>
solr6.6 配置拼音分词
查看>>
datatables参数配置详解
查看>>
Composer 结合 Git 创建 “服务类库”
查看>>
Redis线程模型
查看>>
修改firefox/chrome浏览器的UserAgent
查看>>
sql 基础练习 计算7天各个时间点的总和 group by order mysql一次查询多个表
查看>>
MySQL高级-索引优化
查看>>
SQL中Group By的使用
查看>>
RateLimiter 限流
查看>>