zoukankan      html  css  js  c++  java
  • 两个activity之间的跳转与传值

    一:什么是Activity?

     简单的说:Activity就是布满整个窗口或者悬浮于其他窗口上的交互界面。在一个应用程序中通常由多个Activity构成,都会在Manifest.xml中指定一个主的Activity,如下设置

    <actionandroid:name="android.intent.action.MAIN" />当程序第一次运行时用户就会看这个Activity,这个Activity可以通过启动其他的Activity进行相关操作。

    二:Activity的跳转与传值,主要是通过Intent类来连接多个Activity,以及数据的传递。

    三:Activity的跳转传值,没有返回值。

    //activity.xml
    <
    LinearLayout 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" > <Button android:id="@+id/button1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="跳转到第二个activity" /> </LinearLayout>
    //Activity2.xml
    <
    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="wrap_content" android:layout_height="wrap_content" android:textSize="32px" /> <LinearLayout>
    //MainActivity1
    public
    class MainActivity extends Activity { protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); findViewById(R.id.button1).setOnClickListener(new OnClickListener() { public void onClick(View v) { Intent intent=new Intent(MainActivity.this, activity2.class); //跳转到那个页面
    intent.putExtra("txt", "Hello world");
    //传递什么数据以键值对方式
    startActivity(intent);
    //启动Activity
    //Bundle dataBundle=new Bundle(); //dataBundle.putString("txt", "hello"); /
    /bundle类中加入数据(key -value的形式,另一个activity里面取数据的时候,就要用到key,找出对应的值
    //intent.putExtras(dataBundle); //startActivity(intent); } }); }
    //activity2
    public
    class activity2 extends Activity { TextView textView1; protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); setContentView(R.layout.activity2); textView1=(TextView) findViewById(R.id.textView1); textView1.setText(getIntent().getStringExtra("txt")); //activity1的textview显示activity2传来的值 } }

    四:Activity的跳转传值,有返回值。

    public class MainActivity extends Activity {
    
        private TextView textView1;
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            System.out.println("oncreate...");
            textView1.findViewById(R.id.textView1);
            findViewById(R.id.button1).setOnClickListener(new OnClickListener() {
                
                @Override
                public void onClick(View v) {
                    
                    Intent intent=new Intent(MainActivity.this, activity2.class);
                    intent.putExtra("txt", "hello world");
                    startActivityForResult(intent, 100);
                    
                }
            });
            
        }
        
        protected void onActivityResult(int requestCode, int resultCode, Intent data) {
            super.onActivityResult(requestCode, resultCode, data);
            if(requestCode==100)
            {
                if(resultCode==1)
                {
                 String name=getIntent().getStringExtra("name");
                  textView1.setText(name);
                }
            }
            
            
        }
    }
    public class activity2 extends Activity {
    
        
        EditText etEditText;
        protected void onCreate(Bundle savedInstanceState) {
            // TODO Auto-generated method stub
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity2);
            etEditText=(EditText) findViewById(R.id.et);
             findViewById(R.id.btnclose).setOnClickListener(new OnClickListener() {
                
                         public void onClick(View v) {
                    
                    Intent intent=new Intent();
                    String txtString=etEditText.getText().toString();
                    intent.putExtra("name", txtString);
                    setResult(1, intent);
    finish(); } });
    } }

     

     

     

     

  • 相关阅读:
    ASP.NET Cookies简单应用 记住用户名和密码
    index.dat文件剖析
    簇集索引与聚集索引
    C#开发飞信机器人
    详解Javascript中的Url编码/解码
    基于关系型数据库的WEB OA公文流转系统
    今天Apple陆家嘴点“开战”
    准备在cnblogs活动上的演讲
    4年技术经验
    chinajoy之行
  • 原文地址:https://www.cnblogs.com/linhong/p/4204227.html
Copyright © 2011-2022 走看看