Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/192.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我的android应用程序中显示了联系人列表。怎么可能在单击名称时将数字保存为字符串?_Android_Listview_Android Studio_Android Contacts - Fatal编程技术网

我的android应用程序中显示了联系人列表。怎么可能在单击名称时将数字保存为字符串?

我的android应用程序中显示了联系人列表。怎么可能在单击名称时将数字保存为字符串?,android,listview,android-studio,android-contacts,Android,Listview,Android Studio,Android Contacts,我有以下代码使联系人列表显示在我的屏幕上: public class MainActivity extends ListActivity { @Override public int getSelectedItemPosition() { return super.getSelectedItemPosition(); } @Override public long getSelectedItemId() { retur

我有以下代码使联系人列表显示在我的屏幕上:

public class MainActivity extends ListActivity {


    @Override
    public int getSelectedItemPosition() {
        return super.getSelectedItemPosition();
    }

    @Override
    public long getSelectedItemId() {
        return super.getSelectedItemId();
    }

    ListView lv;
    Cursor cursor1;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        cursor1 = getContentResolver().query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null , null , null , null);
        startManagingCursor(cursor1);

        String[] from = {ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME, ContactsContract.CommonDataKinds.Phone.NUMBER, ContactsContract.CommonDataKinds.Phone._ID};
        int[] to = {android.R.id.text1, android.R.id.text2};

        SimpleCursorAdapter listadapter = new SimpleCursorAdapter(this, android.R.layout.simple_list_item_2, cursor1, from, to );
        setListAdapter(listadapter);

        lv = getListView();
        lv.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }
}

我想让用户,他可以保存在一个字符串中的名称点击数字。我应该如何开始?

您可以在listview上实现
setOnItemClickListener
,然后使用游标和MoveTopoPosition方法将位置作为参数传递以获取位置,然后再次使用游标从名称中获取数字,如下所示:

lv.setOnItemClickListener(新的AdapterView.OnItemClickListener(){
@凌驾
public void onItemClick(AdapterView父对象、视图、整型位置、长id){
光标1.移动位置(位置);
Toast.makeText(getApplicationContext(),cursor1.getString(cursor1.getColumnIndex(ContactsContract.CommonDataTypes.Phone.NUMBER)),Toast.LENGTH_SHORT.show();
}
});

注意我没有测试代码,所以我不知道我是对的