intent包含的六大信息
1 Component name
2 Action
3 Data
4 Category
5 Extras
6 Flags
解释一下几个信息的含义吧
Component name,定义要启动哪一个组件,启动的组件不一定是Activity。
Action,指定新启动组建的动作。
Date,向另外一个Activity里面传送的数据。
Category,向另外一个Activity传送的多个键值对~~~个人感觉有点类似与c++的map诶
21.jpg (35.89KB, 下载次数: 0)
2012-9-2710:34 上传
一个简单的界面,按下按钮之后跳转的另一个界面,并通过intent传递一个字符串类型的键值对数据
22.jpg (24.97KB, 下载次数: 0)
2012-9-2710:34 上传
第一个Activity的配置文件非常简单,就是一个LinearLayout里面放一个按钮。
[mw_shl_code=java,true]<LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<Button
android:id="@+id/Button1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
/>
</LinearLayout>
[/mw_shl_code]
在MainActivity里面设置button1按钮,复写内部类Button1listener继承OnClickListener,并且在类内复写onClick函数。在函数中new一个Intent对象,调用这个对象的setClass函数设置要跳转向的Activity,并可以通过putExtra函数向这个对象中插入键值对。startActivity()使用这个intend对象实现Activity之间的跳转。代码如下
Java代码
[mw_shl_code=java,true]package com.example.abcc;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
public class MainActivity extends Activity {
private Button jumpbut=null;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
jumpbut=(Button)findViewById(R.id.Button1);
jumpbut.setText(R.string.button1text);
//设置当前button的监听器
jumpbut.setOnClickListener(newButton1listener());
}
class Button1listener implements OnClickListener{
public voidonClick(View v) {
// TODO Auto-generated method stub
//new一个intend变量
Intent ia=new Intent();
//加入一个键值对
ia.putExtra("text", "我爱我娘纸");
//设定跳转向的Activity
ia.setClass(MainActivity.this,secAct.class);
//启动Activity。并传递一个intend对象
MainActivity.this.startActivity(ia);
}
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}
}
[/mw_shl_code]
在新的Activity中通过getIntent();获取intent变量,并通过getStringExtra();获取intent中的键值对~~
Java代码
[mw_shl_code=java,true]package com.example.abcc;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.widget.TextView;
public class secAct extends Activity {
TextView t1=null;
@Override
protected void onCreate(Bundle savedInstanceState){
// TODO Auto-generatedmethod stub
super.onCreate(savedInstanceState);
setContentView(R.layout.sac);
Intent i1=getIntent();
Stringval=i1.getStringExtra("text");
t1=(TextView)findViewById(R.id.text2);
t1.setText(val);
}
}
[/mw_shl_code]
(转自iteye)