Android基础——intent的ComponentName

摘要:
intent指定要通过ComponentName执行的组件的名称。创建“活动”时,可以使用此方法指定两个活动的布局?

intent通过ComponentName指定要执行的组件名字,创建一个Activity时就可以用这个方式进行指定

通过Main启动Detail

两个活动的布局

Detail

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".DetailActivity">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="详细内容"/>

</LinearLayout>

Main

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">

    <Button
        android:id="@+id/button"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="详细信息"/>

</LinearLayout>

java调用代码

package com.example.myintenti;

import androidx.appcompat.app.AppCompatActivity;
import androidx.core.view.KeyEventDispatcher;

import android.content.ComponentName;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        //ComponentName属性:要启动的组件名字
        Button button = (Button)findViewById(R.id.button);
        button.setOnClickListener(new View.OnClickListener() {
            @Override//使用ComponentName属性创建一个活动
            public void onClick(View v) {
                Intent intent = new Intent();
                ComponentName componentName = new ComponentName(
                        "com.example.mtintenti","com.example.mtintenti.DetailActivity"
                );
                intent.setComponent(componentName);
                startActivity(intent);
            }
        });
    }
}

免责声明:文章转载自《Android基础——intent的ComponentName》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇矩阵乘法与矩阵加速Go-结构体下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

设置安卓开机动画、开机logo

我们要修改的是system>media文件夹下的bootanimation.zip(手机开机动画)这个文件先来讲讲这个文件结构:该zip解压后得到两个文件,第一个目录存放了开机时播放的图片(图为佳域G3原厂的动绘图片包),见下图:图片编号001,002,.......010这些是用来控制图片播放顺序的。第二个 desc. txt的文本文档存放的数据...

安卓系统中各镜像介绍

背景 对于安卓开发而言,了解各镜像的意义、内容以及如何制作,有极大的意义。 注意,ROM中的5个镜像文件的扩展名都是img,但其格式却不同,也就是说不能使用同一种方法对其进行格式解析。 系统镜像(System.img) 系统镜像用于存储Android系统的核心文件,将其解压出来,就是设备中/system目录,里面包含了Android系统主要的目录和文件。一...

环形进度条(转)

一直都是在博客园上看别人的分享 今天就突然心血来潮想把自己以前写的一个环形进度条分享给大家 这是我的第一篇博客,希望大家多多指教; 在这里我使用了blend里面的Arc控件 和一个定时器来控制endangle 值 项目的结构如下: xaml代码如下: <Window xmlns="http://schemas.microsof...

js判断当前是ios还是android

1.  判断是ios还是android let u = navigator.userAgent, let isAndroid = u.indexOf('Android') > -1 || u.indexOf('Linux') > -1; //g let isIOS = !!u.match(/(i[^;]+;( U;)? CPU.+Mac OS...

小程序渲染问题:ios显示安卓不显示

问题: 测试库转到正式库后添加数据,小程序数据渲染不出来,但是测试库没问题,ios数据能显示,没问题,但是安卓显示没数据。排除是服务器https证书问题,如果是证书问题,小程序会直接调不了接口。百度一堆解决办法,最靠谱点的解决办法:https://www.jianshu.com/p/3203b98807b4前后端根据方法排查问题,仍然解决不了。 问题来源:...

WPF treeview 多层次绑定问题 HierarchicalDataTemplate 和 CompositeCollection

1 public class Clause : DependencyObject 2 { 3 public Clause() 4 { 5 this.Parent = null; 6 } 7 public Clause(Clause Pare...