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

今天是我读《第二行代码》的第一天,也是我第一次开始写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. 2018.7.31 oracle rownum的理解

    一.Rownum的描述: rownum是一个伪列,数据库中并不保存rownum的列值,它是oracle系统为返回的结果集顺序分配的行编号,rownum是随着结果集生成的,一旦生成,在同一个结果集中就不 ...

  2. Python 爬虫的工具列表

    这个列表包含与网页抓取和数据处理的Python库 网络 通用 urllib -网络库(stdlib). requests -网络库. grab - 网络库(基于pycurl). pycurl - 网络 ...

  3. css中hover设置边框后div中内容后移解决方法

    <style> .demo{width:1200px;height:400px;background:#fff;} .demo:hover{border:1px solid #cecece ...

  4. JavaEE 面试题总结

    一. JDBC 4 1. Java中访问数据库的步骤 4 2. Statement,PreparedStatement,CallableStatement的功能.特点. 4 3. 如何利用JDBC的A ...

  5. 一句话说明==和equals的区别

    public class equals { public static void main(String[] args) { int x=10; int y=10; String str1=new S ...

  6. Linux终端显示控制字符

    在Linux中, 我们时常要将一个命令的输出作为另外一个命令的输入进行下一步处理操作. 有时, 如果一个命令的输出中有不可见的控制字符时, 有可能会导致后续操作出错. 而这些控制字符很可能是不可打印的 ...

  7. iPhone 横屏时默认会放大文字的问题

    有人说用 html { text-size-adjust: 100%; }我发现这个并不能解决问题.下面代码可以完美解决. 添加标签:<meta name="viewport" ...

  8. 生产-消费模式的synchronized和lock实现(十)

    lock: package com.net.thread.lock; import java.util.concurrent.locks.Condition; import java.util.con ...

  9. C语言进阶——循环语句07

    循环语句的基本工作方式: 通过条件表达式判定是否执行循环体 条件表达式遵循if语句表达式的原则 do,while,for的区别: do语句先执行后判断,循环体至少执行一次 while语句先判断后执行, ...

  10. 统计输入任意的字符中中英文字母,空格和其他字符的个数 python

    这里用到了三个函数: #判断是否为数字:str.isdigit()#是否为字母:str.isalpha()#是否为空格:str.isspace() def tongji(str): alpha = 0 ...