在Android中设置ListView的按钮点击值

在Android中设置ListView的按钮点击值,android,listview,android-contacts,Android,Listview,Android Contacts,我已经为这个问题寻找了一个星期的解决方案,但就是找不到任何有助于我解决这个问题的东西。我有一个按钮,您可以从手机上的联系人列表中选择联系人。 我遇到的问题是,我希望将所选联系人填充到列表视图中,然后通过选择另一个联系人,然后将该联系人再次放在列表视图下,以创建一个正在运行的列表来重复。此列表将用于发送选定联系人的群发电子邮件 任何方向都很好。谢谢 这是我到目前为止所拥有的 xml布局 <RelativeLayout xmlns:android="http://schemas.android

我已经为这个问题寻找了一个星期的解决方案,但就是找不到任何有助于我解决这个问题的东西。我有一个按钮,您可以从手机上的联系人列表中选择联系人。 我遇到的问题是,我希望将所选联系人填充到列表视图中,然后通过选择另一个联系人,然后将该联系人再次放在列表视图下,以创建一个正在运行的列表来重复。此列表将用于发送选定联系人的群发电子邮件

任何方向都很好。谢谢

这是我到目前为止所拥有的

xml布局

<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">

<Button
    android:id="@+id/selectGuestListButton"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/selectGuestList"
    android:layout_alignParentTop="true"
    android:layout_centerHorizontal="true" />

<ListView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@+id/selectGuestListButton"
    android:id="@+id/listView">
    </ListView>

这可能有助于我想我不理解的是如何将我选择的联系人添加到列表视图中。这应该有助于你掌握相同的窍门。
 public class GuestListFragment extends Fragment {

private Event mEvent;

private Button mEventGuestListButton;

private static final int REQUEST_CONTACT = 0;

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    mEvent = new Event();
}

@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
    if (resultCode != Activity.RESULT_OK) return;
    if (requestCode == REQUEST_CONTACT) {
        Uri contactUri = data.getData();

        //specify which fields you want to query to return values for
        String[] queryFields = new String[]{
                ContactsContract.Contacts.DISPLAY_NAME,

        };

        //perform your query
        Cursor c = getActivity().getContentResolver().query(contactUri, queryFields, null, null, null);

        //double check you get results
        if (c.getCount() == 0) {
            c.close();
            return;
        }

        //pull out first column of the first row of data
        c.moveToFirst();
        String guest = c.getString(0);
        mEvent.setGuest(guest);
        mEventGuestListButton.setText(guest);

        c.close();
    }
}

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup parent, Bundle savedInstanceState) {
    View v = inflater.inflate(R.layout.guest_list, parent, false);


    //guest list button
    mEventGuestListButton = (Button)v.findViewById(R.id.selectGuestListButton);
    mEventGuestListButton.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Intent i = new Intent(Intent.ACTION_PICK, ContactsContract.Contacts.CONTENT_URI);
            startActivityForResult(i, REQUEST_CONTACT);
        }
    });

    if (mEvent.getGuest() != null){
        mEventGuestListButton.setText(mEvent.getGuest());
    }


    return v;

}

}