zoukankan      html  css  js  c++  java
  • android入门,activity跳转,并传递message

    首先是布局文件,如下:

    activity_main.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="horizontal">
        <EditText
            android:id="@+id/edit_message"
            android:layout_weight="1"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:text="Hello World!" />
        <Button
            android:id="@+id/send_message"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Send"
            android:onClick="sendMessage"
            />
            <!--定义onclick函数-->
    </LinearLayout>
    接下来是主Activity,MainActivity.java
    package com.example.administrator.helloworld;
    import android.content.Intent;
    import android.support.v7.app.AppCompatActivity;
    import android.os.Bundle;
    import android.view.View;
    import android.widget.EditText;
    public class MainActivity extends AppCompatActivity {
        //发送Intent对应字符串内容的key
        public  static  final String Intent_key="MESSAGE";
        //EditText
        private EditText editText =null;
        private void initView(){
            editText= (EditText) findViewById(R.id.edit_message);
        }
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            //设置布局
            setContentView(R.layout.activity_main);
            initView();
        }
        //发送消息,启动secondActivity!
        public void sendMessage(View view){
            Intent intent = new Intent(this,secondActivity.class);
            String text =editText.getText().toString();
            intent.putExtra(Intent_key,text);
            startActivity(intent);
        }
    }
        请注意,在button的点击事件中,首先新建Intent对象,指明activity跳转的来源与去向,然后通过Intent对象的putExtra()方法,传入editText获取的文本。注意Intent在传递消息时,需要通过key来标识消息。所以我们将Intent_key 定义为:public  static  final String Intent_key="MESSAGE";
        最后是第二个Activity, secondActivity.java
    package com.example.administrator.helloworld;
    import android.content.Intent;
    import android.support.v7.app.AppCompatActivity;
    import android.os.Bundle;
    import android.widget.TextView;
    public class secondActivity extends AppCompatActivity {
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            Intent intent =getIntent();
            String text =intent.getStringExtra(MainActivity.Intent_key);
            TextView textView =new TextView(this);
            textView.setTextSize(40);
            textView.setText(text);
            // Set the text view as the activity layout
            setContentView(textView);
        }
    }
        在onCreate()方法中,首先获取Intent对象,通过key获取通过Intent传递的message。同时新建TextView对象,设置其显示的文本为message。并设置TextView作为该activity的布局。
        以下是程序运行截图:
    631245512291456599.png                       367963046088468887.png
     



  • 相关阅读:
    IDEA操作git的一些常用技巧
    实现多Realm时,可能会出现的问题
    Solr入门-Solr服务安装(windows系统)
    ES6中的Set和Map集合
    ES6中的类
    ES6数组扩展
    ES6定型数组
    Promise和异步编程
    深入理解ajax系列第八篇
    深入理解ajax系列第六篇
  • 原文地址:https://www.cnblogs.com/zhoudayang/p/5257593.html
Copyright © 2011-2022 走看看