是个传颂厨

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

学习自慕课网。

一个直接转跳式,另一个回传式。

第一个先是直接跳转。

首先新建一个布局文件xml,第一个的话,就叫做factivity,直接线性布局好弄~

<?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" >

    <Button
        android:id="@+id/button1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="第一种启动方式" /><!-- 设置第一个按钮 -->

    <Button
        android:id="@+id/button2"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="第二种启动方式" /><!-- 设置第二个按钮,回传数据的方式 -->

    <TextView
        android:id="@+id/textView1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="把第二个页面内容回传" /><!-- 后面回传要用的显示的,这里不管 -->

</LinearLayout>

 

然后新建一个R文件,第一个就叫做FActivity,然后进行相关设置。

package com.deemo;

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;

public class FActivity extends Activity{
    private Button bt1 ;//设置按钮一
    
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);
        setContentView(R.layout.factivity);
        bt1 = (Button) findViewById(R.id.button1);//初始化按钮1
        
        //注册点击事件,通过startActicity实现
        bt1.setOnClickListener(new OnClickListener() {
            
            @Override
            public void onClick(View arg0) {
                // TODO Auto-generated method stub
                Intent intent = new Intent(FActivity.this, SActiviyt.class);//初始化Intent
                                                                                            //第一个是上下文对象this,
                                                                                            //    第二个是目标文件
                startActivity(intent);//进行跳转
            }
        });
    }
}    

然后去AndroidMainfest修改启动。、

加入下面的代码,将两个页面设置进去,然后将原来的MainActivity弄掉~

  <activity
            android:name="com.deemo.FActivity"
            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="com.deemo.SActiviyt"
            android:label="@string/app_name" >
           
        </activity>
    </application>

然后就可以试试了,直接转跳效果。

然后然后说第二种转跳方式,就是带回传数据的转跳方式。

首先还是建一个sacitivity的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" >

    <Button
        android:id="@+id/button1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="Button" />

</LinearLayout>

然后去创建SActiviyt(其实本来是SActivity,手滑写错了就不改了。。。)

package com.deemo;

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;

public class SActiviyt extends Activity{
    private Button bt;//设置
    private String content = "回传数据";
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        
        super.onCreate(savedInstanceState);
        setContentView(R.layout.sactivity);
        bt = (Button) findViewById(R.id.button1);//初始化
        bt.setOnClickListener(new OnClickListener() {//点击事件
            
            @Override
            public void onClick(View arg0) {
                Intent data = new Intent();
                 data.putExtra("data",content);
                 setResult(2, data);
                 finish();//结束当前页面,笨办法返回前一页面
            }
        });
        
    }
}

 

然后回到FActivity的R文件里面把应该修改的一改。

package com.deemo;

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;

public class FActivity extends Activity{
    private Button bt1 ;//设置按钮一
    private Button bt2;//设置按钮二
    private TextView tv;//初始化文本
    
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);
        setContentView(R.layout.factivity);
        tv = (TextView)findViewById(R.id.textView1);
        bt1 = (Button) findViewById(R.id.button1);//初始化按钮1
        bt2 = (Button) findViewById(R.id.button2);//初始化按钮2
        //注册点击事件,通过startActicity实现
        bt1.setOnClickListener(new OnClickListener() {
            
            @Override
            public void onClick(View arg0) {
                // TODO Auto-generated method stub
                Intent intent = new Intent(FActivity.this, SActiviyt.class);//初始化Intent
                                                                                            //第一个是上下文对象this,
                                                                                            //    第二个是目标文件
                startActivity(intent);//进行跳转
            }
        });
        //通过startActivityForresult跳转
        bt2.setOnClickListener(new OnClickListener() {
            
            @Override
            public void onClick(View arg0) {
                // TODO Auto-generated method stub
                    Intent intent = new Intent(FActivity.this,SActiviyt.class);//初始化
                    startActivityForResult(intent, 1);//第一个intent对象
                                                                                            //第二个是请求标识
            }
        });
    }
    //接受返回数据
    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {//请求标志,第二个页面返回标志,第二个页面回传数据
        super.onActivityResult(requestCode, resultCode, data);
        if(requestCode == 1&&resultCode==2){//判断页面
            String content = data.getStringExtra("data");//取数据
            tv.setText(content);//设置文本
        }
    }
}    

然后剩下的第一种的时候配置都改过了。

运行吧。

posted on 2016-07-26 18:40  是个传颂厨  阅读(191)  评论(0编辑  收藏  举报