您的位置:首页 > 移动开发 > Android开发

Android开启新的activity并获取返回的结果

2016-01-29 14:18 357 查看

1、startActivityForResult(intent, 0);作用开启一个新的activity获取返回的结果。

例子:
package com.example.testsendsms;

import android.os.Bundle;

import android.app.Activity;

import android.content.Intent;

import android.view.Menu;

import android.view.View;

import android.widget.EditText;

public class MainActivity extends Activity {
private EditText et_number;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
et_number = (EditText) findViewById(R.id.et_number);
}
public void Select_number(View view){
Intent intent = new Intent(this, com.example.testsendsms.SelectContactActivity.class);
//startActivity(intent);
//开启一个新的activity,并获取新的activity执行完毕后返回的结果
startActivityForResult(intent, 0);

}
@Override
//新开启的Activity关闭的时候执行的方法
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
// TODO Auto-generated method stub
super.onActivityResult(requestCode, resultCode, data);
if(data!=null){
String num = data.getStringExtra("num");
et_number.setText(num);
}

}

另一个activity:
package com.example.testsendsms;

import java.util.List;

import com.example.ContactsInfoServices.ContactInfo;

import com.example.ContactsInfoServices.ContactInfoService;

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_view ;
private List<ContactInfo> contactInfos;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.contact_activity);
lv_select_view = (ListView) findViewById(R.id.lv_select_contact);
contactInfos = (List<ContactInfo>) ContactInfoService.getContactInfos(this);
lv_select_view.setAdapter(new ContactAdapter());
lv_select_view.setOnItemClickListener(new OnItemClickListener() {

@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
ContactInfo info = contactInfos.get(position);
String num = info.getNumber();
//传递数据给调用它的activity
Intent data = new Intent();
data.putExtra("num", num);
setResult(0, data);
//关闭当前Activity。传递数据给调用者
finish();

}
});

}
private class ContactAdapter extends BaseAdapter{

@Override
public int getCount() {
// TODO Auto-generated method stub
return contactInfos.size();
}

@Override
public Object getItem(int position) {
// TODO Auto-generated method stub
return null;
}

@Override
public long getItemId(int position) {
// TODO Auto-generated method stub
return 0;
}

@Override
public View getView(int position, View convertView, ViewGroup parent) {
ContactInfo contactInfo = contactInfos.get(position);
View view = View.inflate(getApplicationContext(),R.layout.contact_item,null);
TextView tv_name = (TextView) view.findViewById(R.id.name);
tv_name.setText(contactInfo.getName());
TextView tv_num
9a09
= (TextView) view.findViewById(R.id.num);
tv_num.setText(contactInfo.getNumber());
return view;
}

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: