Android中intent的运用

Android中intent的使用

package com.duoguo.android;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;

/**
 * @author Administrator
 *
 */
public class FirstActivity extends Activity {
 /** Called when the activity is first created. */
 @SuppressWarnings("unused")
 @Override
 public void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.main);

  TextView textView = (TextView) findViewById(R.id.myTextViewId);
  Button button = (Button) findViewById(R.id.myButtonId);
  button.setOnClickListener(new ButtonListener());// 添加事件监听器

 }

 class ButtonListener implements OnClickListener {

  public void onClick(View v) {

   Intent intent = new Intent();// 生成intent对象
   intent.putExtra("name", "admin");// 传递相应的键值对
   intent.setClass(FirstActivity.this, SecondActivity.class);// 请求到新的activity
   FirstActivity.this.startActivity(intent);// 启动intent对象

  }

 }
}

 

main.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:id="@+id/myTextViewId" android:layout_width="wrap_content"
  android:layout_height="wrap_content" android:text="@string/myTextView" />

 <Button android:id="@+id/myButtonId" android:layout_width="wrap_content"
  android:layout_height="wrap_content" android:text="@string/myButton" />

</LinearLayout>

 

/**
 *
 */
package com.duoguo.android;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.widget.TextView;

/**
 * @author Administrator
 *
 */
public class SecondActivity extends Activity {

 @Override
 protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.second);

  TextView textView = (TextView) findViewById(R.id.intentTextViewId);

  Intent intent = getIntent();// 获取intent对象
  String value = intent.getStringExtra("name");// 获取键值对的值
  textView.setText(value);
 }

}

second.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:id="@+id/intentTextViewId"
  android:layout_width="wrap_content" android:layout_height="wrap_content"
  android:text="@string/secondTextView" />

</LinearLayout>

strings.xml

<?xml version="1.0" encoding="utf-8"?>
<resources>
 <string name="app_name">Android应用小程序</string>
 <string name="myTextView">这是一段文本……</string>
 <string name="myButton">这是一个按钮</string>
 <string name="secondTextView">Intent的使用</string>
</resources>

AndroidMaifest.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
 package="com.duoguo.android" android:versionCode="1"
 android:versionName="1.0">
 <uses-sdk android:minSdkVersion="7" />

 <application android:icon="@drawable/icon" android:label="@string/app_name">
  <activity android:name=".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 android:name=".SecondActivity" android:label="@string/app_name" />
 </application>
</manifest>