首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >onActivityResult定位

onActivityResult定位
EN

Stack Overflow用户
提问于 2013-05-21 14:23:16
回答 1查看 612关注 0票数 0

我有一个显示ListView的活动,ListView由一个TextEdit和一个按钮组成。该按钮用于选择联系人的电子邮件并将其放在TextEdit中。

该按钮的侦听器是在我的自定义数组适配器中创建的,通过此方法,我将调用活动来选择如下所示的联系人:

代码语言:javascript
复制
Intent intent =new Intent(Intent.ACTION_PICK,ContactsContract.CommonDataKinds.Email.CONTENT_URI);

((Activity) v.getContext()).startActivityForResult(intent, MainActivity.act_pick_contact_mail);

我已经在我的活动中创建了onActivityResult方法,我可以得到用户选择的电子邮件,但我不知道从哪个位置按下了按钮。

这就是我写的代码:你知道我怎么做吗?

代码语言:javascript
复制
 @Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {

       //Pick an email
    if(requestCode==MainActivity.act_pick_contact_mail){
        try{
            if(resultCode==Activity.RESULT_OK){    

             Uri uri=data.getData(); 
             Cursor emailCur=getContentResolver().query(uri,null, null, null,null);

             emailCur.moveToFirst();
             String email = emailCur.getString(emailCur.getColumnIndex(ContactsContract.CommonDataKinds.Email.ADDRESS));

             //Change the first item, but I need to know the real position
             contactos.set(0, new Contacto(email));
             adapter.notifyDataSetChanged();

             emailCur.close();

            }}
             catch(Exception e){
             Toast.makeText(getBaseContext(), "Email wasn't found", Toast.LENGTH_SHORT).show();      
             e.getCause();
             }        
    } 

}   

提前谢谢。

编辑:解决了使用getter在文章中创建属性的问题。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-05-21 14:48:15

我在这里看到两种选择。

第一,保存活动类属性中的位置。然后在onActivityResult返回时引用它。

第二,使用该位置作为您的请求代码。用这个位置代替MainActivity.act_pick_contact_mail。然后在onActivityResult中假设>= 0的请求代码是有效的。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16672461

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档