开启新的activity获取他的返回值
来源:互联网 发布:stussy 正品淘宝 编辑:程序博客网 时间:2024/05/23 18:31
manifest
<uses-permission android:name="android.permission.READ_CONTACTS"/>
<activity android:name=".SelectContactActivity" android:label="@string/select_contact" > </activity>activity_main.xml
<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" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context=".MainActivity" > <RelativeLayout android:layout_width="match_parent" android:layout_height="wrap_content" > <EditText android:id="@+id/et_number" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="13dip" android:hint="请输入或者选择联系人" /> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentRight="true" android:hint="选择" android:onClick="selectContact" /> </RelativeLayout> <EditText android:id="@+id/et_content" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="13dip" android:hint="请输入短信内容" android:inputType="textMultiLine" android:minLines="5" /> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentRight="true" android:hint="发送短信" android:onClick="sendSms" /></LinearLayout>activity_select_contact.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" android:orientation="vertical" > <ListView android:id="@+id/lv_select_contact" android:layout_width="match_parent" android:layout_height="match_parent" > </ListView></LinearLayout>contact_item.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="wrap_content" android:orientation="vertical" > <TextView android:id="@+id/tv_contact_name" android:layout_width="match_parent" android:layout_height="wrap_content" android:gravity="center_horizontal" android:text="姓名" android:textColor="#000000" android:textSize="18sp" /> <TextView android:id="@+id/tv_contact_number" android:layout_width="match_parent" android:layout_height="wrap_content" android:gravity="center_horizontal" android:text="电话" android:textColor="#99000000" android:textSize="14sp" /></LinearLayout>ContactInfo.java
package org.gentry.smssender.domain;public class ContactInfo {private String name;private String number;public String getName() {return name;}public void setName(String name) {this.name = name;}public String getNumber() {return number;}public void setNumber(String number) {this.number = number;}}ContactInfoService.java
package org.gentry.smssender;import java.util.ArrayList;import java.util.List;import org.gentry.smssender.domain.ContactInfo;import android.content.ContentResolver;import android.content.Context;import android.database.Cursor;import android.net.Uri;public class ContactInfoService {/** * 返回系统所有联系人的信息 * * @return */public static List<ContactInfo> getContactInfos(Context context) {// 创建一个系统所有联系人的集合List<ContactInfo> contactInfos = new ArrayList<ContactInfo>();ContentResolver resolver = context.getContentResolver();// raw_contact表的uriUri uri = Uri.parse("content://com.android.contacts/raw_contacts");// data表的uriUri dataUri = Uri.parse("content://com.android.contacts/data");Cursor cursor = resolver.query(uri, new String[] { "contact_id" },null, null, null);while (cursor.moveToNext()) {String id = cursor.getString(0);if (id != null) {Cursor dataCursor = resolver.query(dataUri, new String[] {"data1", "mimetype" }, "raw_contact_id=?",new String[] { id }, null);ContactInfo contactInfo = new ContactInfo();while (dataCursor.moveToNext()) {String data = dataCursor.getString(0);String mimetype = dataCursor.getString(1);if ("vnd.android.cursor.item/name".equals(mimetype)) {contactInfo.setName(data);} else if ("vnd.android.cursor.item/phone_v2".equals(mimetype)) {contactInfo.setNumber(data);}}contactInfos.add(contactInfo);dataCursor.close();}}cursor.close();return contactInfos;}}SelectContactActivity.java
package org.gentry.smssender;import java.util.List;import org.gentry.smssender.domain.ContactInfo;import android.app.Activity;import android.content.Intent;import android.os.Bundle;import android.view.View;import android.view.ViewGroup;import android.widget.AdapterView;import android.widget.AdapterView.OnItemClickListener;import android.widget.BaseAdapter;import android.widget.ListView;import android.widget.TextView;public class SelectContactActivity extends Activity {private ListView lv_select_contact;private List<ContactInfo> contactInfos;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_select_contact);lv_select_contact = (ListView) findViewById(R.id.lv_select_contact);contactInfos = ContactInfoService.getContactInfos(this);lv_select_contact.setAdapter(new ContactAdapter());// 给listview的条目设计一下点击事件lv_select_contact.setOnItemClickListener(new OnItemClickListener() {@Overridepublic void onItemClick(AdapterView<?> arg0, View arg1,int position, long arg3) {ContactInfo info = contactInfos.get(position);String number = info.getNumber();// 传递数据给调用他的activityIntent data = new Intent();data.putExtra("number", number);setResult(0, data);finish();// 关闭当前的activity,然后传递数据给调用者,调用者就会执行onactivityResult的方法}});}private class ContactAdapter extends BaseAdapter {@Overridepublic int getCount() {// TODO Auto-generated method stubreturn contactInfos.size();}@Overridepublic Object getItem(int position) {// TODO Auto-generated method stubreturn null;}@Overridepublic long getItemId(int position) {// TODO Auto-generated method stubreturn 0;}@Overridepublic View getView(int position, View convertView, ViewGroup parent) {ContactInfo info = contactInfos.get(position);View view = View.inflate(getApplicationContext(),R.layout.contact_item, null);TextView tv_contact_name = (TextView) view.findViewById(R.id.tv_contact_name);TextView tv_contact_number = (TextView) view.findViewById(R.id.tv_contact_number);tv_contact_name.setText(info.getName());tv_contact_number.setText(info.getNumber());return view;}}}MainActivity.java
package org.gentry.smssender;import android.app.Activity;import android.content.Intent;import android.os.Bundle;import android.view.View;import android.widget.EditText;public class MainActivity extends Activity {private EditText et_number;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);et_number = (EditText) findViewById(R.id.et_number);}/** * 激活一个新的界面,让用户选择联系人 * * @param view */public void selectContact(View view) {Intent intent = new Intent(this, SelectContactActivity.class);// 开启一个新的activity:// startActivity(intent);// 开启一个新的activity,并且获取这个新开启的activity执行完毕后返回的结果startActivityForResult(intent, 0);}/** * 当新开启的activity关闭的时候调用的方法 */@Overrideprotected void onActivityResult(int requestCode, int resultCode, Intent data) {System.out.println("onActivityResult");super.onActivityResult(requestCode, resultCode, data);if (data != null) {String number = data.getStringExtra("number");et_number.setText(number);}}}
0 0
- 开启新的activity获取他的返回值
- 获取新开启的activity的返回值给开启他的activity
- 安卓学习日志之开启新的activity获取他的返回值
- 开启新的activity获取它的返回值
- Android之开启新的activity并获取返回值
- Android -- 在一个Activity开启另一个Activity 并 获取他的返回值。
- Android开启新的activity并获取返回的结果
- Android 启动activity并且获取他的返回值
- 启动新的Activity_获取Activity的返回值
- 开启和接收activity的返回值
- 带返回值的开启一个Activity;
- 开启Activity获取不到返回结果的常见问题
- Google Android开发者文档系列-与其他应用程序交互之获取Activity返回的结果
- android 获取上一个activity的返回值
- android 获取上一个activity的返回值
- 获取 Activity 的返回参数
- 获取Activity 的返回参数
- 获取 Activity 的返回参数
- Transaction rolled back because it has been marked as rollback-only
- 远程桌面连接窗口与主机不同步解决办法
- linux下tomcat服务的启动、关闭与错误跟踪
- Java IO 的一般使用原则:
- vector向量容器
- 开启新的activity获取他的返回值
- 命令模式
- HDU 4927 Series 1 ( 组合+高精度)
- oracle中的insert语句
- php中对MYSQL操作之批量执行,与获取批量结果
- hd 2562 奇偶位互换
- Linux时间子系统之四:定时器的引擎:clock_event_device
- Spring中的引介增强
- char*,const char*和string的相互转换