我在应用程序中的两个活动之间传递数据时遇到问题。我的ActivityOne
填充了手机中的联系人列表。然后,用户可以选择将他们带到ActivityTwo
的联系人。以下是我在选择联系人之后编写Intent以从ActivityOne写入ActivityTwo的方法:
@Override
public void onListItemClick(ListView l, View v, int position, long id) {
Intent i = new Intent(v.getContext(), ActivityTwo.class);
i.putExtra("name", ContactsContract.Data.DISPLAY_NAME);
startActivity(i);
}
在ActivityTwo的onCreate()
方法中,我已经包含此代码以恢复传递的数据:
Bundle extras = getIntent().getExtras();
if (extras != null) {
name = extras.getString("name");
}
ActivityOne使用正确的名称正确填充联系人列表,但是当我尝试使用传递给ActivityTwo的名称时,它默认为display_name
而不是联系人的实际名称。
我做错了什么或者我忽略了什么?
答案 0 :(得分:0)
你可以试试这个代码并反馈给我吗?
@Override
public void onListItemClick(ListView l, View v, int position, long id) {
String name = ((TextView) v.findViewById(android.R.id.text1)).getText().toString();
Intent i = new Intent(v.getContext(), ActivityTwo.class);
i.putExtra("name", name);
startActivity(i);
}