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

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 = (TextView) view.findViewById(R.id.num);
tv_num.setText(contactInfo.getNumber());
return view;
}


}


}

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值