初学Android,这是一个用户登录界面,想把里面的值传递到另一个Activity中,先不说其他,上代码:

        主界面(登录界面的Activity):MainActivity.java

package com.zhoujunwen.widget;import android.os.Bundle;import android.app.Activity;import android.view.Menu;import android.view.View;import android.content.Intent;import android.view.View.OnClickListener;import android.widget.*;public class MainActivity extends Activity {//声明按钮Buttonprivate Button register,cancle;//声明ToggleButtonprivate ToggleButton marriged;//声明单选按钮private RadioButton male,female;//声明文本编辑框private EditText username,password;//声明下拉列表private Spinner position;//声明多选按钮private CheckBox reading,swimming;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);//设置Activity页面布局setContentView(R.layout.activity_main);//通过findViewById获得EditText对象username = (EditText)findViewById(R.id.username);password = (EditText)findViewById(R.id.password);//通过findViewById方法获得RadioButtonmale = (RadioButton)findViewById(R.id.male);female =(RadioButton)findViewById(R.id.female);//通过findViewById获得ChechBoxreading =(CheckBox)findViewById(R.id.reading);swimming =(CheckBox)findViewById(R.id.swimming);//通过findViewById获得ToggleButton实例marriged =(ToggleButton)findViewById(R.id.marriged);//通过findViewById获得Spinner实例position =(Spinner)findViewById(R.id.position);//下拉列表选项String[] str = {"CEO","CFO","PM"};//数组下拉列表适配器ArrayAdapter aa= new ArrayAdapter(this,android.R.layout.simple_spinner_item,str);//设置下拉列表适配器position.setAdapter(aa);//通过findViewById方法获得Button的实例register = (Button)findViewById(R.id.register);cancle   =(Button)findViewById(R.id.cancle);//添加按钮的单击事件监听器register.setOnClickListener(new OnClickListener(){//点击事件方法@Overridepublic void onClick(View v) {// TODO Auto-generated method stubBundle b= new Bundle();//在Bundle中添加用户名称和用户密码b.putString("username", "用户名称:"+username.getText().toString());b.putString("password", "用户密码:"+password.getText().toString());//在Bundle中添加性别if(male.isChecked()){b.putString("gender","性别:男");}else{b.putString("gender","性别:女");}String temp= "爱好:";if(reading.isChecked()){temp+=" ";temp+="阅读";}if(swimming.isChecked()){temp+=" ";temp+="游泳";}//在Bundle中添加爱好b.putString("hobby",temp);//在Bundle中添加婚否if(marriged.isChecked()){b.putString("marriged","婚否:已婚");}else{b.putString("marriged","婚否:未婚");}//在Bundle添加职位b.putString("position","职位:"+position.getSelectedItem().toString());//实例化Intent,跳转到ResultActivityIntent intent = new Intent(MainActivity.this,ResultActivity.class);//讲Bundle添加到Intentintent.putExtra("data", b);//启动ActivitystartActivity(intent);}});}}
        分析:1.Spinner制作下拉列表

        步骤:①获取Spinner的实例

                    ②产生下拉列表数组

                    ③数组适配器

                    ④设置下拉列表适配器

        代码:

        //通过findViewById获得Spinner实例position =(Spinner)findViewById(R.id.position);//下拉列表选项String[] str = {"CEO","CFO","PM"};//数组下拉列表适配器ArrayAdapter aa= new ArrayAdapter(this,android.R.layout.simple_spinner_item,str);//设置下拉列表适配器position.setAdapter(aa);
       分析:2.Bundle用于从一个Activity传值到另一个Activity(其实有很多人说,用Intent的putExtra()方法就可以,但是,Bundle的优点在于传递复杂对象的值)

       步骤:①实例化Bundle对象,保存属性

                   ②调用Bundle的putString(key,value)方法,把属性保存到key里面

                   ③实例化Intent,这是Android传递值得信使,没有它不行

                   ④调用Intent的putExtra(key,value),这儿value换成Bundle的实例

                   ⑤启动该Activity。调用方法startActivity(③中实例化Intent的对象)

        代码:

        Bundle b= new Bundle();//在Bundle中添加用户名称和用户密码b.putString("username", "用户名称:"+username.getText().toString());b.putString("password", "用户密码:"+password.getText().toString());//在Bundle中添加性别if(male.isChecked()){b.putString("gender","性别:男");}else{b.putString("gender","性别:女");}String temp= "爱好:";if(reading.isChecked()){temp+=" ";temp+="阅读";}if(swimming.isChecked()){temp+=" ";temp+="游泳";}//在Bundle中添加爱好b.putString("hobby",temp);//在Bundle中添加婚否if(marriged.isChecked()){b.putString("marriged","婚否:已婚");}else{b.putString("marriged","婚否:未婚");}//在Bundle添加职位b.putString("position","职位:"+position.getSelectedItem().toString());//实例化Intent,跳转到ResultActivityIntent intent = new Intent(MainActivity.this,ResultActivity.class);//讲Bundle添加到Intentintent.putExtra("data", b);//启动ActivitystartActivity(intent);
        跳转到的页面:ResultActivity.java

package com.zhoujunwen.widget;import java.util.ArrayList;import java.util.List;import android.app.Activity;import android.content.Intent;import android.os.Bundle;import android.widget.ArrayAdapter;import android.widget.ListView;public class ResultActivity extends Activity{//声明ListViewprivate ListView listView;protected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);//设置当前Activity界面布局setContentView(R.layout.result);//通过findViewById方法获得ListView对象listView=(ListView)findViewById(R.id.ListView01);//获得IntentIntent intent = this.getIntent();//从Intent中获得BundleBundle b = intent.getBundleExtra("data");//实例化ListList list = new ArrayList();//从Bundle中获得属性,添加到Listlist.add(b.getString("username"));list.add(b.getString("password"));list.add(b.getString("position"));list.add(b.getString("gender"));list.add(b.getString("hobby"));list.add(b.getString("marriged"));//实例化数组适配器ArrayAdapter adapter = new ArrayAdapter(this,android.R.layout.simple_list_item_checked,list);//为ListView设置适配器listView.setAdapter(adapter);}}
需要分析的地方:Intent获取传递到的值

                //获得IntentIntent intent = this.getIntent();//从Intent中获得BundleBundle b = intent.getBundleExtra("data");//实例化ListList list = new ArrayList();//从Bundle中获得属性,添加到Listlist.add(b.getString("username"));list.add(b.getString("password"));list.add(b.getString("position"));list.add(b.getString("gender"));list.add(b.getString("hobby"));list.add(b.getString("marriged"));//实例化数组适配器ArrayAdapter adapter = new ArrayAdapter(this,android.R.layout.simple_list_item_checked,list);//为ListView设置适配器listView.setAdapter(adapter);
下面是两个布局文件:

Activity_main.xml

<?xml version="1.0" encoding="utf-8"?>                                                                                                                                                                                                                 "                                                                                                                                                                                                                                                    
ResultActivity.xml

<?xml version="1.0" encoding="utf-8"?>        "



更多相关文章

  1. Android中判断网络是否连接实例详解
  2. Android 实现扫雷小游戏实例代码
  3. Android——ViewGroup的一个用法实例
  4. android APP隐私政策弹框的实现代码实例
  5. Android Intent机制实例详解(Activity篇)转
  6. android用户界面之WebView教程实例汇总
  7. Android:自定义适配器
  8. Android传感器使用实例1

随机推荐

  1. Android(安卓)Signing your Applications
  2. 模拟android访问服务器
  3. Android:EditText插入图片实现图文混排
  4. Android(安卓)进程级别 和 oom_adj对应关
  5. Android(安卓)Untold Stories
  6. 解读ContentResolver和ContentProvider
  7. Android圆形ImageView(支持各种scaleType
  8. AES Android(安卓)加密
  9. Android(安卓)RecyclerView 分割线(Divide
  10. android之线性布局LinearLayout以及weigh