概述
我们使用的手机不光是只用到一个应用程序,比如在淘宝界面要付款的时候可能会启动微信付款等,这就相当于在淘宝的Activity中启动了微信的Activity。还比如说当我们注册一个网站是,可能会给自己发送一条短信作为验证,这就是在当前的Activity中启动了短信的Activity。之前对比的MVC设计模式中Controller可以调用另一个Controller中的数据或者跳转等,那么在Android平台中也是可以实现Activity之间的调用的。
程序:
首先做这样一个程序,从一个Activity跳转到另一个Activity中:
关联的布局文件main.xml:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<Button
android:id="@+id/myButton"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
/>
</LinearLayout>
第一个Activity:
public class Activity extends ActionBarActivity {
/**
* Called when the activity is first created
*/
//首先获得点击跳转的按钮
private Button myButton =null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main); //选择关联的布局文件
myButton=(Button)findViewById(R.id.myButton); //通过id获得按钮
//通过监听器把对象捆绑到按钮上
myButton.setOnClickListener((android.view.View.OnClickListener) new MyButtonListener());
}
//监听器类
class MyButtonListener implements OnClickListener{
public void onClick(View v){
// 生成一个Intent对象
Intent intent=new Intent();
intent.putExtra("testIntent", "123");
intent.setClass(Activity.this, OtherActivity.class); //设置跳转的Activity
Activity.this.startActivity(intent);
}
}
}
第一个Activity到第二个Activity是通过intent来传送数据的,那么在第二个Activity是如何接收数据的呢?第二个Activity对应的布局文件other.xml中只用一个TextView来盛放数据。
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TextView
android:id="@+id/myTextView"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
/>
</LinearLayout>
第二个Activity中接收数据
public class OtherActivity extends Activity {
private TextView myTextView=null;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.other);
Intent intent=getIntent();
String value=intent.getStringExtra("testIntent");
myTextView=(TextView)findViewById(R.id.myTextView);
myTextView.setText(value);
}
}
当然不要忘记在配置文件中注册第二个Activity:
<activity android:name=".OtherActivity" android:label="@string/other" />
在一个Activity跳转到另外一个Activity中是通过intent对象来传递的,而一个Intent对象到底能包含多少东西还需要我们自己去实践。
最后
以上就是美丽悟空为你收集整理的Android——在一个Activity中如何启动另外一个Activity的全部内容,希望文章能够帮你解决Android——在一个Activity中如何启动另外一个Activity所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复