• android studio实现Intent通信-------牛刀小试


    概述:

    本博文实现一种小程序,两个Activity单向通信,主从关系,MainActivty 页面布局一个EditText+Button,实现逻辑是单击按钮将信息发送给另外一个DisplayMessageActivity,DisplayMessageActivty页面布局有一个TextView内容为EditText传过来的。整个就是这么简单

    实现:

    1创建空Activty项目,命名为IntentDemo,页面布局

      1.1为了实现单击按钮响应事件,可以有两种方法,第一种是这样的

    public static final String tag="TEST";
    @Override 
    protected void onCreate(Bundle savedInstanceState)
    {
         super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        
        Button button=(Button)findViewById(R.id.button);
        button.setOnClickListener(new OnClickListener(){
              @Override
               public void onClick(View view)
               {
                     EditText edittext=(EditText)findViewById(R.id.editText);
                     Intent intent=new Intent(this,DisplayMessageActivtiy.class);
                     String message=edittext.getText().toString();
                     intent.putExtra(tag,message);
                     startActivty(intent);
                }    
        });
    }
    

     也就是说直接在onCreate函数里面实现了监听按钮的方法

    第二种方法是自己实现一个函数,然后与按钮单击事件关联起来

     

    这个函数在MainActivtiy.java里面实现如下:

    public void sendMessage(View view)
        {
            Intent intent=new Intent(this,DisplayMessageActivity.class);
            EditText edittext=(EditText)findViewById(R.id.editText);
            String message=edittext.getText().toString();
            intent.putExtra(EXTRA_MESSAGE,message);
            startActivity(intent);
        }
    

      可以对比一下,要让系统将此函数视为与 android:onClick 属性兼容,需要这些详细信息。具体来说,函数必须声明以下内容:

    • 公共访问
    • 空返回值
    • View作为唯一参数(它是之前点击的 View对象)

    2 创建一个空Activity的Activtiy

    我们选择empty activity ,然后系统自动做三件事:

    ① 创建DisplayMessageActivity.java

    ② 创建activity_display_message.xml文件

    ③在AndroidManifest.xml文件的<application>元素下自动添加<activity>子元素,内容如下

    手动添加的内容是为了添加向上导航


    DisplayMessageActivity应用不是主入口的每个屏幕(所有不是主屏幕的屏幕)都应提供导航,以便用户在应用栏中点按“向上”按钮后可以返回应用层次结构中的逻辑父屏幕。

    需要做的全部工作是在 AndroidManifest.xml文件中声明哪个 Activity 是逻辑父项。因此,打开 app > manifests > AndroidManifest.xml 处的文文件,找到 DisplayMessageActivity 的 <activity> 标记。

    3编写逻辑代码

    在DisplayMessageActivity的onCreate函数中提取处intent的Extra信息,并写入到TextView中

     1 @Override
     2     protected void onCreate(Bundle savedInstanceState) {
     3         super.onCreate(savedInstanceState);
     4         setContentView(R.layout.activity_display_message);
     5         Intent intent=getIntent();
     6         String message=intent.getStringExtra(MainActivity.EXTRA_MESSAGE);
     7         TextView textview=(TextView)findViewById(R.id.textView);
     8         textview.setText(message);
     9         Log.i(tag,"DisplayMessageActivity:(1)onCreate()");
    10     }

    最终效果截图

  • 相关阅读:
    Linux环境缓存清理
    【算法】最小生成树Prime求解
    Linux配置tftp服务器用于局域网文件传输
    Linux Ubuntu安装Nvidia多GPU通信库NCCL
    基于 Docker 环境搭建 Zookeeper 集群
    Nacos 高可用环境搭建(基于Docker)
    bs::framework 编译注意事项
    2022/3/17 装机笔记克服重重困难,他亮了。
    c++ 知识回顾与复习以及历史c++语言版本总结
    c++ 中遇到的语法问题
  • 原文地址:https://www.cnblogs.com/gaochaochao/p/8734759.html
Copyright © 2020-2023  润新知