** --------------->未经允许,禁止转载<----------------**

今天是我读《第二行代码》的第一天,也是我第一次开始写CSDN博客,之前的笔记都在OneNote上,后来发现OneNote没有代码段功能,不能满足需求。同时发现CSDN博客环境挺友好的,在考虑要不要把笔记都复制上来呢。


在活动中使用Toast

protected void onCreate(BundlesavedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.first_layout);
Button button1 = (Button) findViewById(R.id.button_1);
button1.setOnClickListener(newView.OnClickListener(){
@Override
public void onClick(Viewv){
Toast.makeText(FirstActivity.this,"Fuckyou",Toast.LENGTH_SHORT).show();
Intentintent = newIntent("com.example.activitytest.ACTION_START");
//调用startActivity方法的时候会自动将android.intent.category.DEFAULT添加到Intent中
startActivity(intent);
}
});
}

在活动中使用Menu

@Override
public boolean onCreateOptionsMenu(Menu menu){
//创建菜单,传入R.menu.main布局文件,第二个参数用于指定菜单项将添加到哪一个Menu对象中,这里直接使用onCreateOptionsMenu方法中传入的menu参数
getMenuInflater().inflate(R.menu.main, menu);
//返回true表示允许创建的菜单显示出来,返回false则无法显示
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item){
//通过getItemID()来判断点击的是哪一个菜单项
switch(item.getItemId()){
case R.id.add_item:
Toast.makeText(this, "YouclickedAdd", Toast.LENGTH_SHORT).show();
break;
case R.id.remove_item:
Toast.makeText(this, "Sorry,you can't remove anything cause' you're stupid!", Toast.LENGTH_LONG).show();
break;
default:
}
return true;
}

使用Intent在活动之间穿梭

在FirstActivity中:

(创建活动)

Intent intent= new Intent(FirstActivity.this, SecondActivity.class);
intent.putExtra("extra_data",data);
startActivityForResult(intent,1);

(对return做出响应)

@Override
protected void onActivityResult( int requestCode, int resultCode, Intent data){
switch(requestCode){
case 1:
if(resultCode==RESULT_OK){
String returnedData = data.getStringExtra("data_return");
Log.d("FirstActivity", returnedData);
}
break;
default:
}
}

在SecondActivity中:

(接收数据)

Intent input=getIntent();
String data=input.getStringExtra("extra_data");

(返回数据到上一级)

Intent intent = new Intent();
intent.putExtra("data_return","Fuck you too FirstActivity");
setResult(RESULT_OK,intent);
finish();

(如果不是通过点击按钮,而是通过按下Back键回到FirstActivity,则重写onBackPressed()方法)

public void onBackPressed(){
Intent intent = new Intent();
intent.putExtra("data_return","Fuck you First Activity I'm BACK!");
setResult(RESULT_OK,intent);
finish();
}

Day1 Toast/Menu/Intent传递数据的更多相关文章

  1. Android Intent传递数据

    刚开始看郭大神的<>,实现以下里面的一些例子.Intent传递数据. 我们利用显示的方式进行Intent的启动. 1.启动intent并输入数据. Intent intent=new In ...

  2. 【转】Android 之最新最全的Intent传递数据方法

    原文地址:https://www.jianshu.com/p/1169dba99261 intent传递数据 为什么要和intent单独拿出来讲,因为Intent传递数据也是非常重要的 一.简单的传递 ...

  3. Android Activity传递数据使用getIntent()接收不到,揭秘Intent传递数据与Activity启动模式singleTask的关系。

    activity通过intent传递数据的时候,如果activity未启动,那么在这个刚启动的activity里通过getIntent()会获取到这个intent的数据.. 如果要启动的activit ...

  4. Android 消息广播Intent传递数据

    1.创建布局文件activity_broadcast.xml <RelativeLayout xmlns:android="http://schemas.android.com/apk ...

  5. Intent传递数据

    方式比较多,先看看代码,一会儿再总结. activity_main.xml <RelativeLayout xmlns:android="http://schemas.android. ...

  6. Android 开发中使用Intent传递数据的方法

    Activity之间通过Intent传递值,支持基本数据类型和String对象及 它们的数组对象byte.byte[].char.char[].boolean.boolean[].short.shor ...

  7. Android学习之Intent传递数据

    Intent在Activity中的作用主要是有两个: 1.启动目标Activity 2.传递数据 Intent在传递数据时分两种情况:向下一个Activity传递数据和从下一个Activity返回数据 ...

  8. [Android] Android 最全 Intent 传递数据姿势

    我们都是用过 Intent,用它来在组件之间传递数据,所以说 Intent 是组件之间通信的使者,一般情况下,我们传递的都是一些比较简单的数据,并且都是基本的数据类型,写法也比较简单,今天我在这里说的 ...

  9. Android学习之基础知识四-Activity活动4讲(Intent传递数据)

    Intent除了可以开启一个活动,还能在启动活动的时候传递数据,此时Intent相当于一个保存数据的库,我们先把数据保存在Intent中,然后再根据各个activity的需要从其中取出数据.  一.使 ...

随机推荐

  1. json 序列化和反序列化的3个方法

    https://www.cnblogs.com/caofangsheng/p/5687994.html

  2. mapping4java源码下载(alibab的开源项目)

    项目中需要频繁实现json-->pojo,Bean-->Bean的转换,使用了mapping4java这个开源的框架: 网上查资料,该框架是愤怒的苹果提供的,附上原文地址 我也造了个轮子: ...

  3. git 简单使用(待完善)

    git是一个分布式版本控制器,简单来说就是可以记录每次代码的修改和提交,方便我们查看修改记录和版本的回退 工作流程 基本概念 仓库 git 是一个分布式版本控制器,其单位就是仓库,每个仓库就是当前gi ...

  4. java多线程同步以及线程间通信详解&消费者生产者模式&死锁&Thread.join()(多线程编程之二)

    本篇我们将讨论以下知识点: 1.线程同步问题的产生 什么是线程同步问题,我们先来看一段卖票系统的代码,然后再分析这个问题: package com.zejian.test; /** * @author ...

  5. VS2013未能正确加载的问题【转载】

    今天使用电脑,关机重启时,WINDOWS提示“正在配置中,请勿关机” 的提醒,等重启后,打开VS2013就提示了未加载成功的问题,如下图: 我的解决方法是:找到VS2013开发人员命令提示:在窗口中输 ...

  6. vim编辑器使用习惯问题

    Ubuntu中vi在编辑状态下方向键不能用,一按方向键盘就出ABCD,想插入个字母还非常麻烦,还有回格键不能删除等我们平时习惯的一些键都不能使用. 解决办法: 可以安装vim full版本,在full ...

  7. POJ:3279-Fliptile(矩阵反转)

    Fliptile Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 14701 Accepted: 5381 Description ...

  8. [CodeChef]RIN(最小割)

    Description  有m门课可以在n个学期内学习,第i门课在第j个学期的收益是\(X_{i,j}\),一个学期可以学多门课,有的课之间有依赖关系,即必须先学a再学b,求最大收益.n,m<= ...

  9. filter() 函数的使用

    Python3 filter() 函数 描述 filter() 函数用于过滤序列,过滤掉不符合条件的元素,返回一个迭代器对象,如果要转换为列表,可以使用 list() 来转换. 该接收两个参数,第一个 ...

  10. Android面试收集录13 Android虚拟机及编译过程

    一.什么是Dalvik虚拟机 Dalvik是Google公司自己设计用于Android平台的Java虚拟机,它是Android平台的重要组成部分,支持dex格式(Dalvik Executable)的 ...