Android activity简单的跳转
在android中activity就相当也web的页面,有web经验的人这一点就比较清楚,在这里我就不多讲了,我就简单的讲一下activity直接的跳转,其实个人感觉android开发跟web开发很多地方都是相通的,在web中很多东西都是通过xml来配置的,但是web中很多页面的请求事件都是通过js来控制的,但是android是通过自己的事件进行操作的有点类似swing中的事件。在android project中有几个配置文件是特别重要的string.xml主要是用来配置一下参数通过key-value方式配置的,还有一个是layout文件夹,默认情况是自动生成一个main.xml有swing开发经验的人一看这个文件夹就应该知道他的作用,主要是用来存放页面的布局文件的,这个目录就是用来布局每一个activity相当于web中的css样式,还有一个就是AndroidManifest.xml这个xml文件主要是用来注册activity用的,接触过spring的人应该都知道spring中的bean也是通过xml进行注册的,如果用eclipse开发时候会自动生成应该R.java类这个类主要是用来维护一些信息,比如添加参数或者布局时候R.java里面会相应找到相关信息这个就不多讲了。
首先在string.xml定义一些参数
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="hello">Activity之间切换</string>
<string name="app_name">Activity</string>
<string name="first">第一个Activity</string>
<string name="next">下一个Activity</string>
<string name="firstBt">上页</string>
<string name="nextBt">下页</string>
</resources>
默认情况下是找到main.xml中的布局文件,在这个文件中添加一个TextView和Button
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/first"
/>
<Button
android:id="@+id/fistButton"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/nextBt"
/>
</LinearLayout>
以下是创建第一个activity类,因为Activity类是父类所以我们定义自己的activity时候必须继承这个父类
public class ChangeActivity extends Activity {
/** Called when the activity is first created. */
private Button fistButton;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
fistButton = (Button)findViewById(R.id.fistButton);
fistButton.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
Intent it = new Intent();
it.setClass(ChangeActivity.this, NextActivity.class);
startActivity(it);
ChangeActivity.this.finish();
}
});
}
}
单点击第一个button时候就触发一个事件,通过Intent来启动activity进入下一个activity中的,it.setClass(ChangeActivity.this, NextActivity.class);就是从第一个activity跳转到第二个activity
接着创建第二个activity布局文件mylayout.xml文件
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/next"
/>
<Button
android:id="@+id/nextButton"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/firstBt"
/>
</LinearLayout>
在这里也是定义一个TextView和一个Button,创建第二个activity类
public class NextActivity extends Activity {
private Button nextButton;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.mylayout);
nextButton = (Button)findViewById(R.id.nextButton);
nextButton.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
Intent intent = new Intent();
intent.setClass(NextActivity.this, ChangeActivity.class);
startActivity(intent);
NextActivity.this.finish();
}
});
}
}
在这里也添加应该button事件触发这个事件时候就跳转会第一个activity中,这个就是一个简单的activity之间的跳转。
以下是执行结果图