主窗口:

package com.example.test;

import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.content.Intent;
import android.os.Bundle;
import android.view.KeyEvent;
import android.view.View;
import android.widget.EditText; public class MyActivity extends Activity {
//两个联系人号码填写框
private EditText phoneEditText;
private EditText phoneEditText2; @Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
phoneEditText = (EditText) findViewById(R.id.et_phone);
phoneEditText2 = (EditText) findViewById(R.id.et_phone2);
} /**
* 点击“选择联系人”进入选择第一个联系人的界面
*/
public void selectContact(View view) {
Intent intent = new Intent(this, SelectContactActivity.class);
this.startActivityForResult(intent, 1);
} /**
* 点击“选择联系人”进入选择第二个联系人的界面
*/
public void selectContact2(View view) {
Intent intent = new Intent(this, SelectContactActivity.class);
this.startActivityForResult(intent, 2);
} /**
* 当第二个activity选择完成,在退出的时候会调用这个方法
* @param requestCode 请求码
* @param resultCode 结果码
* @param data 包含用户选择的值的intent对象
*/
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (data != null) {
String phone = data.getStringExtra("phone");
if (requestCode == 1) {
phoneEditText.setText(phone);
} else if (requestCode == 2) {
phoneEditText2.setText(phone);
}
}
}
}

第二个窗口(选择联系人窗口):

package com.example.test;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.ViewGroup;
import android.widget.*; import java.util.ArrayList;
import java.util.List; /**
* Created by Administrator on 14-1-1.
*/
public class SelectContactActivity extends Activity {
private ListView listView;
private List<Person> personList = new ArrayList<Person>(); public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.select_contact_layout); this.listView = (ListView) findViewById(R.id.lv_contact);
initListData();//初始化测试数据
this.listView.setAdapter(adapter);
this.listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
//创建一个intent用于向上一个activity传递数据
Intent intent = new Intent();
Person person = personList.get(i);
intent.putExtra("phone", person.getPhone());
setResult(0, intent);
finish();
}
});
} private ListAdapter adapter = new BaseAdapter() {
@Override
public int getCount() {
return personList.size();
} @Override
public Object getItem(int i) {
return null;
} @Override
public long getItemId(int i) {
return 0;
} @Override
public View getView(int i, View view, ViewGroup viewGroup) {
Person currentPerson = personList.get(i);
View itemView = View.inflate(getApplicationContext(), R.layout.contact_item, null);
TextView nameView = (TextView) itemView.findViewById(R.id.tv_name);
TextView phoneView = (TextView) itemView.findViewById(R.id.tv_phone);
nameView.setText(currentPerson.getName());
phoneView.setText(currentPerson.getPhone());
return itemView;
}
}; /**
* 为程序提供测试数据
*/
private void initListData() {
Person person = new Person();
person.setName("张三");
person.setPhone("127836874");
this.personList.add(person); person = new Person();
person.setName("李四");
person.setPhone("675698436");
this.personList.add(person); person = new Person();
person.setName("王五");
person.setPhone("079456897");
this.personList.add(person);
}
}

主窗口xml:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
> <RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_vertical"
> <TextView android:text="@string/tv_select_contact"
android:layout_alignParentLeft="true"
android:paddingLeft="10dp"
android:paddingTop="10dp"
android:textSize="19sp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/> <Button android:text="@string/button_select"
android:onClick="selectContact"
android:layout_alignParentRight="true"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/> </RelativeLayout> <EditText
android:id="@+id/et_phone"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="text"/> <RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_vertical"
> <TextView android:text="@string/tv_select_contact2"
android:layout_alignParentLeft="true"
android:paddingLeft="10dp"
android:paddingTop="10dp"
android:textSize="19sp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/> <Button android:text="@string/button_select"
android:onClick="selectContact2"
android:layout_alignParentRight="true"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/> </RelativeLayout> <EditText
android:id="@+id/et_phone2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="text"/> </LinearLayout>

选择联系人窗口xml:

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"> <ListView
android:id="@+id/lv_contact"
android:layout_width="match_parent"
android:layout_height="match_parent">
</ListView>
</LinearLayout>

listView的item布局xml:

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"> <TextView
android:id="@+id/tv_name"
android:text="姓名"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/> <TextView
android:id="@+id/tv_phone"
android:text="电话号码"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
</LinearLayout>

string.xml

<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">案例:从另一个activity选择并返回值</string>
<string name="button_select">选择联系人</string>
<string name="tv_select_contact">输入或选择号码1:</string>
<string name="tv_select_contact2">输入或选择号码2</string>
</resources>

android 案例:从另一个activity选择信息并获取返回值的更多相关文章

  1. Android中调用另一个Activity并返回结果-以模拟选择头像功能为例

    场景 Android中点击按钮启动另一个Activity以及Activity之间传值: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/detail ...

  2. Activity的跳转及返回值 的四种方法

    Activity生命周期 从创建到销毁的生命周期: onCreate()→onStart()→onResume()→onPouse()→onStop()→onDestroy() 从起动到后台再到前台: ...

  3. Activity的跳转及返回值,activity的生命周期

    Activity生命周期 从创建到销毁的生命周期: onCreate()→onStart()→onResume()→onPouse()→onStop()→onDestroy() 从起动到后台再到前台: ...

  4. Android如何一进入一个activity就唤醒键盘

    方法总结: 在AndroidManife.xml中对应的的Activity配置中加入以下配置项: android:windowSoftInputMode="stateVisible|adju ...

  5. 【Android】Android如何一进入一个activity就弹出输入法键盘

    在AndroidManife.xml中的Activity配置中加入 android:windowSoftInputMode="stateVisible|adjustResize"

  6. Android Fragment向另一个Activity传值

    1.Fragment内: Intent intent=new Intent(getActivity(),ShowDataActivity.class); //参数1:Fragment所依存的Activ ...

  7. Activity往另外一个Activity传值,Fragment获取另外一个Activity里面的值。

    在oneActivity中实现跳转到MainActivity //intent 用来跳转另外一个MainActivity,bundle传值到MainActivity         Intent Ma ...

  8. Android中onActivityResult()获取返回值

    需求:从FirstActivity跳到SecondActivity,在SecondActivity中进行了操作并返回到FirstActivity. FirstActivity中的主要代码: priva ...

  9. 【Android】12.3 在当前Activity中获取另一个Activity的返回值

    分类:C#.Android.VS2015: 创建日期:2016-02-23 一.简介 在上一节的示例中,通过StartActivity(Intent)方法启动另一个Activity后,这两个Activ ...

随机推荐

  1. Java学习步骤

    我们为什么选择Java 大多数人选择Java可能只是因为听说Java前景好.Java比较好找工作.Java语言在TIOBE排行榜上一直位于前三等等之类的原因,但是Java具体好在哪里,心里却是没有什么 ...

  2. Swift函数|闭包

    在编程中,我们常把能完成某一特定功能的一组代码,并且带有名字标记类型叫做函数,在C语言中,我们知道函数名就是一个指针,它指向了函数体内代码区的第一行代码的地址,在swift中也具有同样的功效. 在Sw ...

  3. 利用FSO取得BMP,JPG,PNG,GIF文件信息(大小,宽、高等)

    利用FSO取得BMP,JPG,PNG,GIF文件信息(大小,宽.高等) 程序代码 <% ':::BMP, GIF, JPG and PNG ':::This function gets a sp ...

  4. Android屏幕保持唤醒状态

    我们程序偶尔会有需要屏幕一直或较长时间的保持唤醒状态,而用户的睡眠时间又设置的比较短.这时可能会对程序以及用户的使用造成一定的影响.在Android中有两种方法,可以让我们在我们需要保持唤醒的页面长时 ...

  5. OPENSSL中RSA私钥文件(PEM格式)解析【一】

    http://blog.sina.com.cn/s/blog_4fcd1ea30100yh4s.html 在PKCS#1 RSA算法标准中定义RSA私钥语法为: RSAPrivateKey ::= S ...

  6. 合理配置MySQL缓存 提高缓存命中率

    众所周知,系统读取数据时,从内存中读取要比从硬盘上速度要快好几百倍.故现在绝大部分应用系统,都会最大程度的使用缓存(内存中的一个存储区域),来提高系统的运行效率.MySQL数据库也不例外.在这里,笔者 ...

  7. php正则失效-最大回溯(pcre.backtrack_limit)/递归限制

    有时候,我们觉得,没有什么可以让我们快乐,我们甚至忘记了如何微笑.但是,当我们被一群乐观.欢乐的人包围的时候,他们从内心深处散发出来的欢迎一定会感染你. 这组照片中,你会看到真正的幸福和快乐的面孔,我 ...

  8. Spring集成PageHelper的简单用法

    1.Maven依赖,注意使用PageHelper时的版本必须与Mybatis版本对应 <!-- 添加Mybatis依赖 --> <dependency> <groupId ...

  9. 转载:【高并发简单解决方案 | 靠谱崔小拽 】redis队列缓存 + mysql 批量入库 + php离线整合

    需求背景:有个调用统计日志存储和统计需求,要求存储到mysql中:存储数据高峰能达到日均千万,瓶颈在于直接入库并发太高,可能会把mysql干垮. 问题分析 思考:应用网站架构的衍化过程中,应用最新的框 ...

  10. CSS3之渐变效果

    在css3出来之前,想要出现渐变效果必须就要制作一张图片.不过css3的出现使得渐变效果变得简单.由于不是所有的浏览器都支持css3,所以不是所有的浏览器都能够呈现出css3的效果出来.因此目前大部分 ...