1、Activity之间的切换通过Intent来完成。

  1)清单文件,配置好Activity,所有Activity都需要在该文件中配置。

<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android"    package="cn.luxh.intent"    android:versionCode="1"    android:versionName="1.0" >    <uses-sdk        android:minSdkVersion="11"        android:targetSdkVersion="18" />    <application        android:allowBackup="true"        android:icon="@drawable/ic_launcher"        android:label="@string/app_name"        android:theme="@style/AppTheme" >        <!-- 第一个Activity -->        <activity            android:name="cn.luxh.intent.FirstActivity"            android:label="@string/app_name" >            <intent-filter>                <action android:name="android.intent.action.MAIN" />                <category android:name="android.intent.category.LAUNCHER" />            </intent-filter>        </activity>        <!-- 第二个Activity -->        <activity                android:name="cn.luxh.intent.SecondActivity"                android:label="@string/second_activity">                <intent-filter>                       <action android:name="cn.luxh.intent.SecondActivity"/> <!--意图筛选器名称 -->                       <category android:name="android.intent.category.DEFAULT"/><!--意图筛选器类别 -->                </intent-filter>        </activity>    </application></manifest>

  2)Activity代码

package cn.luxh.intent;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.app.Activity;import android.content.Intent;public class FirstActivity extends Activity {    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_first);        handleBtnJumpClick();    }        /**     * 处理按钮点击事件     */    private void handleBtnJumpClick() {        Button btn_jump = (Button) findViewById(R.id.btn_jump);        btn_jump.setOnClickListener(new OnClickListener() {            @Override            public void onClick(View v) {                //创建一个Intent                                /*Intent intent = new Intent();                intent.setClass(FirstActivity.this, SecondActivity.class);*/                                //通过意图筛选器名称创建Intent                Intent intent = new Intent("cn.luxh.intent.SecondActivity");                                //启动新的Activity                startActivity(intent);            }        });    }}

package cn.luxh.intent;import android.app.Activity;import android.os.Bundle;public class SecondActivity extends Activity{    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_second);    }}

  3)运行效果

2、从Intent中返回数据

  在第二个Activity中输入用户名,然后在第一个Activity中显示。

  1)布局文件activity_second.xml

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:orientation="vertical" >            <TextView             android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:text="@string/second_activity_textview"            android:layout_gravity="center_horizontal"/>                <TextView             android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:text="@string/second_activity_textview_username"/>                <EditText             android:id="@+id/edit_text_username"            android:layout_width="fill_parent"            android:layout_height="wrap_content"            android:inputType="text"/>                <Button             android:id="@+id/btn_submit"            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:text="@string/second_activity_btn_submit"            android:layout_gravity="right"/></LinearLayout>

  2)Activity代码

package cn.luxh.intent;import android.os.Bundle;import android.util.Log;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.Toast;import android.app.Activity;import android.content.Intent;public class FirstActivity extends Activity {        public static final int REQUEST_CODE = 1;//标识代码        private static final String TAG = "FirstActivity";    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_first);        handleBtnJumpClick();    }        /**     * 处理按钮点击事件     */    private void handleBtnJumpClick() {        Button btn_jump = (Button) findViewById(R.id.btn_jump);        btn_jump.setOnClickListener(new OnClickListener() {            @Override            public void onClick(View v) {                //创建一个Intent                                /*Intent intent = new Intent();                intent.setClass(FirstActivity.this, SecondActivity.class);*/                                //通过意图筛选器名称创建Intent                Intent intent = new Intent("cn.luxh.intent.SecondActivity");                                //启动新的Activity,新的Activity结束后有结果返回                startActivityForResult(intent, REQUEST_CODE);            }        });    }        /**     * startActivityForResult(intent, REQUEST_CODE)启动的新Activity结束调用该方法获取返回值     */    @Override    protected void onActivityResult(int requestCode, int resultCode, Intent data) {        switch (requestCode){        case REQUEST_CODE:            if(resultCode == RESULT_OK) {                String username = data.getData().toString();                Log.d(TAG, "返回的数据是:"+username);                Toast.makeText(this,username, Toast.LENGTH_LONG).show();            }        }    }}
package cn.luxh.intent;import android.app.Activity;import android.content.Intent;import android.net.Uri;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.EditText;public class SecondActivity extends Activity{    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_second);        handleBtnSubmitClick();    }        /**     * 处理提交按钮点击     */    private void handleBtnSubmitClick(){        Button btn_submit = (Button) findViewById(R.id.btn_submit);        btn_submit.setOnClickListener(new OnClickListener() {            @Override            public void onClick(View v) {                //获取输入的用户名                EditText et_username = (EditText) findViewById(R.id.edit_text_username);                String username = et_username.getText().toString();                Intent data = new Intent();                data.setData(Uri.parse(username));                setResult(RESULT_OK, data);//RESULT_OK = -1, operation succeeded                finish();//关闭当前Activity            }        });    }}

  3)运行效果

更多相关文章

  1. Android开发20——单个监听器监听多个按钮点击事件
  2. Android(安卓)KEYCODE键值对应大全
  3. Android获取APP的应用程序名称、包名、图标,版本号基本信息
  4. Android(安卓)Listview切换动画,扩展到任意view切换之间动画实现
  5. [转] Android(安卓)检测电源按钮是否被按下
  6. 关于android 获得 图片的方式
  7. android resultCode 一直为0问题解决
  8. Android(安卓)代码中动态为RadioGroup添加RadioButton
  9. Android(安卓)Dialog的四种情况

随机推荐

  1. android 获取和设置屏幕亮度
  2. Android fragment中如何对listview添加监
  3. AIR 2.5 App for Android emulator Error
  4. android webview 下载文件
  5. Android 判断软键盘的状态(显示,隐藏)
  6. Android之万能适配器Adapter的使用
  7. ListView 实现像Android Market那样 分页
  8. Retrofit HTTP body返回为空的情况报错 E
  9. android 判断3G WIFI网络
  10. [Android]Nuance SREC native engine vs