activity启动的两种方

来源:互联网 发布:知乎海尔收购通用电器 编辑:程序博客网 时间:2024/06/04 19:06

activity启动

  1. 直接启动(只是简单的点击按钮从一个Activity到另一个Activity)
  • 这是MainActivity类,由它启动ActivityTwo类
import android.app.Activity;import android.content.Intent;import android.os.Bundle;import android.view.View;import android.widget.Button;public class MainActivity extends Activity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);//定义一个intent对象,目标Activity为ActivityTwofinal Intent intent = new Intent(this,ActivityTwo.class);//定义一个Button,点击进入ActivityTwoButton bt = (Button) findViewById(R.id.button1);//定义点击事件bt.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View arg0) {// TODO Auto-generated method stub//调用startActivity方法startActivity(intent);}});}}
  • 这是MainActivity类的xml配置文件
 <TextView        android:id="@+id/textView1"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_alignParentTop="true"        android:layout_marginTop="108dp"        android:text="你现在位于MainActivity类" />    <Button        android:id="@+id/button1"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_alignRight="@+id/textView1"        android:layout_below="@+id/textView1"        android:layout_marginTop="116dp"        android:text="点我啊" />
  • 这是ActivityTwo类
import android.app.Activity;import android.os.Bundle;public class ActivityTwo extends Activity{protected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_two);}}
  • 这是ActivityTwo类的xml配置文件

 <TextView        android:id="@+id/textView1"        android:layout_width="wrap_content"        android:layout_height="62dp"        android:layout_weight="1"        android:text="欢迎来到ActivityTwo" />
  • 要注意在AndroidManifest文件的<application>元素里加入

 <activity            android:name="com.example.activtitytest.ActivityTwo">  </activity>

2.带返回值的启动(从第一个Activity点击按钮等候到第二个Activity,点击第二个Activity的按钮返回第一个Activity,(带数据的返回哦))方法的调用请看Intents and Intent Filters详解
  • MainActivity类

import android.annotation.SuppressLint;import android.app.Activity;import android.content.Intent;import android.os.Bundle;import android.view.View;import android.widget.Button;import android.widget.TextView;import android.widget.Toast;@SuppressLint("ResourceAsColor")public class MainActivity extends Activity {//定义常量request_Codeprivate final static int request_Code = 1;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);//定义按钮final Intent intent = new Intent(MainActivity.this,SecondActivity.class);Button bt = (Button) findViewById(R.id.button1);//定义点击按钮事件bt.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View arg0) {// 调用startActivityForResult方法startActivityForResult(intent, request_Code);}});}@Override//处理返回数据protected void onActivityResult(int requestCode, int resultCode, Intent data) {// TODO Auto-generated method stub//当请求码(requstCode)与结果码(resultCode)相匹配时处理数据if(requestCode == request_Code && resultCode == RESULT_OK){if(data != null){String info = data.getData().toString();//定义TextViewTextView tv = (TextView) findViewById(R.id.textView1);//设置TextView的文本tv.setText(info);}else{Toast.makeText(this, "无返回任何内容", Toast.LENGTH_SHORT).show();}}}}

  • MainActivity类的xml的配置文件

<RelativeLayout xmlns: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:paddingBottom="@dimen/activity_vertical_margin"    android:paddingLeft="@dimen/activity_horizontal_margin"    android:paddingRight="@dimen/activity_horizontal_margin"    android:paddingTop="@dimen/activity_vertical_margin"    tools:context=".MainActivity" >    <TextView        android:id="@+id/textView1"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:text="现在你在MainActivity" />    <Button        android:id="@+id/button1"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_below="@+id/textView1"        android:layout_centerHorizontal="true"        android:layout_marginTop="126dp"        android:text="点击我将去SecondActivity" /></RelativeLayout>

  • SecondActivity类

import android.app.Activity;import android.content.Intent;import android.net.Uri;import android.os.Bundle;import android.view.View;import android.widget.Button;public class SecondActivity extends Activity{@Overrideprotected void onCreate(Bundle savedInstanceState) {// TODO Auto-generated method stubsuper.onCreate(savedInstanceState);setContentView(R.layout.activity_second);//定义按钮Button bt = (Button) findViewById(R.id.button1);//定义点击按钮事件bt.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {// TODO Auto-generated method stubIntent data = new Intent();String str = "带我会MainActivity吧";//将值放入Intent对象中data.setData(Uri.parse(str));//RESULT_OK为系统定义的setResult(RESULT_OK,data);//关闭该Activityfinish();}});}}

  • secondActivity类的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:id="@+id/textView1"        android:layout_width="184dp"        android:layout_height="wrap_content"        android:text="欢迎来到SecondActivity" />    <Button        android:id="@+id/button1"        android:layout_width="194dp"        android:layout_height="wrap_content"        android:text="点我回到MainActivity,带数据了哦" /></LinearLayout>

  • 别忘了在<application>元素里加入

<activity         android:name="com.example.activitytest.SecondActivity"> </activity>


0 0
原创粉丝点击