<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".MainActivity" > <TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="请输入搜索内容:"
android:textSize="20sp"
/>
<EditText
android:id="@+id/text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ems="10"
android:textSize="20sp"/>
<Button
android:id="@+id/btn_search"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="开始搜索"/>
<ImageView
android:id="@+id/iamge"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:src="@drawable/ic_launcher"
/> </LinearLayout>

MainActivity.java

package com.example.day05_startactivityforresult;

import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.text.TextUtils;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageView;
/**
* 需求:通过输入搜索的内容查找该内容对应的图片,并显示在页面上
* 分析:
* 1.初始控件 初始数据
* 2.点击搜素
* 2.1获取搜索内容
* 2.2存到intent中
* 2.3开启新的Activity,并传值
* 3.新的activity
* 3.1获取传入的值
* 3.2展示
* 3.3点击确定按钮
* 3.3.1将图片地址存起来
* 3.3.2将值返回给MainActivity
* 3.3.3关闭当前activity
* 4.MainActivity获取返回值
* 4.1判断值是否符合要求
* 4.2取出值
* 4.3更新图片
* @author my
*
*/
public class MainActivity extends Activity implements OnClickListener{ private EditText et_input;
private ImageView image;
private Button btn_search;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initView();
btn_search.setOnClickListener(this);
}
/**
* 初始化控件
*/
private void initView() {
et_input = (EditText) findViewById(R.id.text);
image = (ImageView) findViewById(R.id.iamge);
btn_search = (Button) findViewById(R.id.btn_search);
}
/**
* 按钮单击事件:
* 点击搜索按钮,跳转页面
*/
@Override
public void onClick(View v) {
//获取搜索内容
String name = et_input.getText().toString().trim();
/**
* 判断输入搜索的内容是否为空
*/
if(TextUtils.isEmpty(name)){
return;
}
//创建一个Intent对象,并指定要跳转的Activity
Intent intent = new Intent(MainActivity.this,Activity2.class);
//将数据存到intent
intent.putExtra("NAME", name);
//跳转到新的activity,并设置请求吗
startActivityForResult(intent, 100);
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if(requestCode == 100 && resultCode == 101){
int id = data.getIntExtra("IMAGE", -1);
image.setImageResource(id);
}
} }

Activity2.java

package com.example.day05_startactivityforresult;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView; public class Activity2 extends Activity{
private TextView tv;
private Button btn_return;
private String name; @Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.layout2);
//初始化控件
tv = (TextView) findViewById(R.id.tv_show);
btn_return = (Button) findViewById(R.id.btn_return);
//获取传递过来的intent
Intent intent = getIntent();
name = intent.getStringExtra("NAME");
tv.setText(name);
btn_return.setOnClickListener(new OnClickListener() { @Override
public void onClick(View v) {
Intent intent = new Intent(Activity2.this,MainActivity.class);
int id = getData();
//将图片的id设置到intent中
intent.putExtra("IMAGE", id);
//跳转到之前的activity并带结果码
setResult(101,intent);
//关闭当前活动(很重要!)
finish();
}
});
} private int getData() {
int returnImgId =R.drawable.ic_launcher;
if("deer".equals(name)){
returnImgId = R.drawable.deer;
}else if("panda".equals(name)){
returnImgId = R.drawable.panda;
}else if("sheep".equals(name)){
returnImgId = R.drawable.sheep;
}
return returnImgId;
}
}

Android_Intent_startActivityForResult的更多相关文章

随机推荐

  1. Hrbust 2240 土豪的时代

    题意:中文题……不总结了……(好懒0-0) 土豪圈有一个习惯:从来不告诉别人自己到底有多少钱.但他们总是喜欢和其他土豪比较,来看看谁更土豪.于是每每几天,就会爆出一些关于土豪资产的消息,比如A土豪比B ...

  2. (转载)linux环境变量

    转自:http://www.cnblogs.com/growup/archive/2011/07/02/2096142.html Linux 的变量可分为两类:环境变量和本地变量 环境变量,或者称为全 ...

  3. 用pip爽久了,竟然完了easy install安装过程了

    新换了mac,装python环境时才发现,一直用pip,反而忘了easy_install的安装方法了.这里记录一下: 1.下载ez_install.py文件:https://bootstrap.pyp ...

  4. 浏览器的CSS Hacks

    LZ注:此文原作者是:Paul Irish(Google的前端开发工程师),本文是原文的部分译文. 我不再使用CSS Hacks了,相反的是,我将使用IE的条件判断将类应用到body标签.   但是, ...

  5. Bzoj4556: [Tjoi2016&Heoi2016]字符串 后缀数组

    4556: [Tjoi2016&Heoi2016]字符串 Time Limit: 20 Sec  Memory Limit: 128 MBSubmit: 169  Solved: 87[Sub ...

  6. Java之文件的随机访问和读写RandomAccessFile

    package FileDemo; import java.io.IOException; import java.io.RandomAccessFile; public class RandomAc ...

  7. 集合框架-Map练习-记录字母出现的次数

    /* * 练习: * 字符串"abcb453   sddbs343bsjvAJBBDVBs21768723",获取该字符串中,每一个字母出现的次数. * 要求打印结果是:a(2)b ...

  8. [Xcode使用 - 1] 自定义代码块引用

    Xcode本身带有编码常用的代码块可供使用,如下图   例如 “if” 这个代码块的定义     调用方法 1.可以直接拖放带编辑区   2.使用快捷键,键入 “if”, Xcode就会出现自动完成的 ...

  9. UI进阶 数据处理之文件读写

    目录: 1-------沙盒机制(SandBox) 2-------简单对象的读写(I/O)操作 3-------复杂对象的读写(I/O)操作 一.沙盒机制(SandBox) 什么是沙盒:每个iOS应 ...

  10. ng-cookie 的基本使用

    2.angular-cookie - 配置$cookiesProvider ```angular.module("Demo",[]).config(["$cookiesP ...