Java onActivityResult()调用之前执行的MainActivity代码
我正在尝试呼叫其他活动,以从主要活动中获取联系人号码的结果。 一旦onActivityresult将该值分配给contactNo,则发送sms消息 但是,我的问题是在onActivityResult完成之前调用getContactselect()方法之后的smsmanager代码。由于此原因,联系人号码被分配为空Java onActivityResult()调用之前执行的MainActivity代码,java,android,Java,Android,我正在尝试呼叫其他活动,以从主要活动中获取联系人号码的结果。 一旦onActivityresult将该值分配给contactNo,则发送sms消息 但是,我的问题是在onActivityResult完成之前调用getContactselect()方法之后的smsmanager代码。由于此原因,联系人号码被分配为空 Main Activity code: public void onItemClick(AdapterView<?> a, View v, int position, l
Main Activity code:
public void onItemClick(AdapterView<?> a, View v, int position, long id) {
Object o = lv1.getItemAtPosition(position);
ItemDetails obj_itemDetails = (ItemDetails)o;
...
...
**getContactselect();**
**smsManager.sendTextMessage(contactNo, null, obj_itemDetails.getMessage(), null, null);**
}
...
public void getContactselect() {
Intent ourIntent = new Intent(BreakOut.this,ContactsSelector.class);
startActivityForResult(ourIntent,CONTACT_SELECT);
}
protected void onActivityResult(int requestCode, int resultCode, Intent data){
switch(requestCode) {
case CONTACT_SELECT:
if (resultCode == RESULT_OK) {
contactNo = data.getStringExtra("ContactDetails");
Toast.makeText(this, "You have chosen the contact: " + " " + contactNo, Toast.LENGTH_LONG).show();
break;
}
}
}
主要活动代码:
public void onItemClick(适配器视图a、视图v、内部位置、长id){
对象o=lv1.getItemAtPosition(位置);
ItemDetails obj_ItemDetails=(ItemDetails)o;
...
...
**getContactselect()**
**smsManager.sendTextMessage(contactNo,null,obj_itemDetails.getMessage(),null,null)**
}
...
public void getContactselect(){
Intent-ourIntent=新的Intent(BreakOut.this,contacts-selector.class);
startActivityForResult(我们的内容、联系方式和选择);
}
受保护的void onActivityResult(int请求代码、int结果代码、意图数据){
开关(请求代码){
案例联系人选择:
if(resultCode==RESULT\u OK){
contactNo=data.getStringExtra(“ContactDetails”);
Toast.makeText(这是“您已选择联系人:”+“”+contactNo,Toast.LENGTH_LONG).show();
打破
}
}
}
意图是异步启动的。这就是为什么要使用onActivityResult()方法。无论您希望在您调用的活动返回之后做什么,都必须在那里完成 意图是异步启动的。这就是为什么要使用onActivityResult()方法。无论您希望在您调用的活动返回之后做什么,都必须在那里完成