我的 android 应用程序中出现了联系人列表。单击名称后,如何将数字保存到字符串中?
Posted
技术标签:
【中文标题】我的 android 应用程序中出现了联系人列表。单击名称后,如何将数字保存到字符串中?【英文标题】:I have the list of contacts appear in my android App. How is it possible that upon clicking on the name, it saves the number into a String? 【发布时间】:2017-06-15 01:52:32 【问题描述】:我有以下代码可以让联系人列表出现在我的屏幕上:
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;
我想启用用户,他可以通过单击名称将数字保存在字符串中。我应该如何开始?
【问题讨论】:
【参考方案1】:您可以在列表视图上实现setOnItemClickListener
,然后使用光标和 moveToPosition 方法将位置作为参数传递来获取位置,然后再次使用光标从名称中获取数字,如下所示:
lv.setOnItemClickListener(new AdapterView.OnItemClickListener()
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id)
cursor1.moveToPosition(position);
Toast.makeText(getApplicationContext(), cursor1.getString(cursor1.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER)), Toast.LENGTH_SHORT).show();
);
注意我没有测试代码所以我不知道我是否正确。
【讨论】:
以上是关于我的 android 应用程序中出现了联系人列表。单击名称后,如何将数字保存到字符串中?的主要内容,如果未能解决你的问题,请参考以下文章