您的位置:首页 > 产品设计 > UI/UE

第四天:高级UI控件

2016-04-23 00:00 351 查看
摘要: Activity之间的跳转与传值

Activity之间的跳转与传值

跳转步骤:

1、首先程序的AndroidManifest.xml启动,根据限制标签<intent-filter>找到里面的

<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />


代码,确定执行首页activity

2、MainActivity.java通过继承Activity并复写onCreate方法,执行代码

setContentView(R.layout.activity_main);


调用activity_main.xml;从而加载布局文件

3、在布局文件中,设置button按钮,并在按钮中添加监听语句onClick,并在MainActivity.java中编写监听方法,

public void login1(View view) {
Intent intent=new Intent(MainActivity.this, ScondActivity.class);
startActivity(intent);
}


实现按钮的监听

4、当点击按钮后执行login操作,新建Intent对象,对象中放如两个参数,第一个参数是上下文,我的理解是当前的activity界面,第二个是要跳转到的activity界面对应的类;

5、通过startActivity(intent);语句实现界面跳转

6、界面跳转后,首先执行ScondActivity.java,同样根据其继承的activity类,复写onCreate()方法,执行加载内容语句

setContentView(R.layout.activity_second);


调用activity_second.xml,从而实现页面布局

二、Activity之间的值传递

值的传送:值分为一般数据类型,字节数组,list集合

一般数据类型传递:

intent.putExtra("key",12);        //整数类型
intent.putExtra("name","张三");    //字符串类型


对象:

Student  stu =new Student();
stu.setName="张三";
stu.setAge=23;
intent.putExtra("stu",stu);


List集合,只能放ArrayList<>集合,因为只有ArrayList实现了serializable序列化接口,List没有实现

ArrayList<Student> list=new ArrayList<Student>();
Collections.addAll(list,stu1,stu2,stu3);
intent.putExtra("list",list);


数据的接收:

一般数据类型接收

Intent intent=getIntent();
int key=intent.getIntExtra();
String name=intent.getStringExtra();
Log.d(TAG,key+"   " +name  );        //日志打印


对象的接收:

Intent intent=getIntent();
Student stu=(Student)intent.getSerializableExtra();
Log.d(TAG,stu.name+""+stu.age);


集合的接收:

Intent intent =getIntent();
ArrayList<Student> list=(ArrayList<Student>) intent.getSerializableExtra();
Log.d(TAG,list.toString());


int checked = radioGroup.getCheckedRadioButtonId();//获取被选中的radioButton的id
RadioButton radioButton = (RadioButton) radioGroup.findViewById(checked);
String 
3ff0
;sex = radioButton.getText().toString();
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: