• 刚学的 activity 之间的两种(带数据)跳转


        
        activity 之间的跳转
        
        1.普通跳转
                    //在监听器中,如onClickListener 方法中添加
                    Intent intent = new Intent();
                    intent.setClass(ActivityTestActivity.this, AnotherActivity.class);
                    
                    
                    Bundle bundle = new Bundle();    //创建 bundle 存放对象
                    bundle.putString("stringValue", testValue);
                    intent.putExtras(bundle);    //把要带的数据放入intent
                    
                    startActivity(intent);
                    
                    ------
                    
                    //在另一个intent中取出数据:
                    Intent intent = getIntent();    //获取启动该result 的intent
                    Bundle bundle = intent.getExtras();
                    String value = bundle.getString("cityValue");
                    
        
        2.通过另一个activity 输入值 再跳回
                    //在当前activity 中
                    //在监听器中,如onClickListener 方法中添加
                    Intent intent = new Intent(ActivityTestActivity.this,ThridActivity.class);
                    startActivityForResult(intent, 1);    // 1 是请求码
                    
                    //重写回调方法 ,该方法在 另一个activity 中结束的时候    会自动调用 。
                    @Override
                    protected void onActivityResult(int requestCode, int resultCode, Intent intent) {
    
                        if(resultCode == 0 && requestCode == 1)
                        {
                            Bundle data = intent.getExtras();
                            String resultCity = data.getString("city");
                            EditText city = (EditText)findViewById(R.id.address);
                            city.setText(resultCity);
                        }
                    }
                    
                //这是 另一个activity 类的写法 。 里面有一个listView 提供给用户选择
                    public class ThridActivity extends Activity {
                    String[] citys = new String[]{
                            "beijing",
                            "shanghai",
                            "guangzhou"
                    };
                     public void onCreate(Bundle savedInstanceState) {
                            super.onCreate(savedInstanceState);
                            setContentView(R.layout.third);
                            ListView cityListView = (ListView)findViewById(R.id.citys_listview);
                            ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1,citys);
                            cityListView.setAdapter(adapter);
                            
                            cityListView.setOnItemClickListener(new OnItemClickListener() {
                
                                @Override
                                public void onItemClick(AdapterView<?> arg0, View arg1,
                                        int selectedItem, long arg3) {
                                    Intent intent = getIntent();
                                    Bundle data = new Bundle();
                                    data.putString("city", citys[selectedItem]);
                                    intent.putExtras(data);
                                    ThridActivity.this.setResult(0, intent);    //0 是结果码
                                    ThridActivity.this.finish();
                                    
                                }
                            });
                     }
                    }
                    
                    
  • 相关阅读:
    基本计数方法
    每天工作4小时的程序员
    明星软件工程师的10种特质(转)
    IT高薪者所具备的人格魅力
    Unity_Shader开发_图形学基础(五)--------2016.1.9
    unity 架构设计的学习
    深入浅出聊优化:从Draw Calls到GC
    PG+mask替代透明Png(转)
    基于战斗重演的全校验---- 塔防大师PVP反外挂设计
    Unity项目开发准则
  • 原文地址:https://www.cnblogs.com/laoquans/p/3054318.html
Copyright © 2020-2023  润新知