为了账号安全,请及时绑定邮箱和手机立即绑定

将手机中的所有联系人填充到列表视图中后,如何获取选定的联系人姓名(将其传递给意图)?

将手机中的所有联系人填充到列表视图中后,如何获取选定的联系人姓名(将其传递给意图)?

慕标5832272 2021-10-17 10:23:54
下面的代码帮助我将所有联系人检索到活动中的列表视图中,但是我想从用户那里获取选定的联系人行以将其传递到意图中,但我不知道该怎么做。示例:用户选择了 Suzanne 的联系人,我希望能够将“Suzanne”姓名和号码保存在一个字符串中并传递给一个意图公共类 SendWhoosh_SelectContact 扩展 ListActivity {    private static final String TAG = "SendWhoosh";    ListView listView;    Cursor cursor;    @Override    public long getSelectedItemId()    {        // TODO Auto-generated method stub        return super.getSelectedItemId();    }    @Override    public int getSelectedItemPosition()    {        // TODO Auto-generated method stub        return super.getSelectedItemPosition();    }    @Override    protected void onCreate(Bundle savedInstanceState)    {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_send_whoosh_select_contact);        cursor = getContentResolver().query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null, null, null, null);        startManagingCursor(cursor);        String[] from = {ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME, ContactsContract.CommonDataKinds.Phone.NUMBER, ContactsContract.CommonDataKinds.Phone._ID};
查看完整描述

2 回答

?
慕婉清6462132

TA贡献1804条经验 获得超2个赞

设置您的 onClickListener() 并启动您的意图,如下所示;


listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {

        @Override

        public void onItemClick(AdapterView<?> adapterView, View view, int position, long l) {

            launchAnotherActivity(position);

        }

    });

}


private void launchAnotherActivity(int position) {

    Intent intent = new Intent(this, EnterWhooshAmount.class);

    intent.putExtra("The_Position", position);

    startActivity(intent);

}

当您到达 EnterWhooshAmount 类时,您将获得意图并检索单击的位置,并且通过该位置,您可以检索名称等。您可以在 EnterWhooshAmount 类中获得意图,如下所示;


Intent i = getIntent();

if (i != null){

    int position = i.getIntExtra("The_Position", -1);

}

因此,位置是您要查找的整数,因此,您可以在保存它的位置检索名称等


查看完整回答
反对 回复 2021-10-17
?
慕村225694

TA贡献1880条经验 获得超4个赞

listitem onclick 侦听器更改此代码获取单击项名称和编号。


listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {

            @Override

            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {


                String name = ((TwoLineListItem) view).getText1().getText().toString();

                String number = ((TwoLineListItem) view).getText2().getText().toString();




                Log.d(TAG, "SendWhoosh: phone " + name);

                Intent intent = new Intent(SendWhoosh_SelectContact.this, EnterWhooshAmount.class);;

                intent.putExtra("Name", name);

                intent.putExtra("Number", number);


                startActivity(intent);


            }

        });


查看完整回答
反对 回复 2021-10-17
  • 2 回答
  • 0 关注
  • 159 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号