如何将一个 activity 与多个可能值一起使用
How to use one activity with multiple possible values
所以我有一个 activity,其中包含一个配置文件名称列表,需要 link 到另一个具有扩展配置文件描述的屏幕。
那么是否可以使用意图的 putExtra()
和 getExtra()
方法来传递一个值,该值可用于引用 android:text
(TextView
) 和 android:src
(属于 ImageView
)?如果有可能实现这一点,代码将如何进行?
通常传递描述符会更好。如果必须传递某些数据,我会发送 id 以供发送。然后使用intent中的id获取对应的数据,然后想怎么用就怎么用。
示例:我假设您列表中的每个个人资料项目都有一个唯一的 ID。在创建启动扩展配置文件的意图时传递此 ID activity:
Intent i = new Intent(activitycontext, ExpandedProfileActivity.class);
i.putExtra("uniqueid", uniqueIDofIndividualProfile);
startActivity(i);
在 ExpandedProfileActivity onCreate() 中:
Intent i = getIntent();
long uniqueId = i.getLongExtra("uniqueid", -1L);
if (uniqueId != -1L) {
// obtain data from database using uniqueId;
}
是的,有可能。
第一个Activity
EditText editText = (EditText) findViewById(R.id.text);
Intent intent = new Intent(context, secondActivity.class);
// Text of the edit text
intent.putExtra(KEY_TEXT, editText.getText().toString());
// Id of the image in res folder
intent.putExtra(KEY_IMAGE, R.drawable.myimage);
context.startActivity(intent);
第二个Activity(onCreate)
Intent intent = getIntent();
String text = intent.getStringExtra(KEY_TEXT, null);
int imageId = intent.getIntExtra(KEY_IMAGE, 0);
// do stuff with 'text' and 'imageId'
所以我有一个 activity,其中包含一个配置文件名称列表,需要 link 到另一个具有扩展配置文件描述的屏幕。
那么是否可以使用意图的 putExtra()
和 getExtra()
方法来传递一个值,该值可用于引用 android:text
(TextView
) 和 android:src
(属于 ImageView
)?如果有可能实现这一点,代码将如何进行?
通常传递描述符会更好。如果必须传递某些数据,我会发送 id 以供发送。然后使用intent中的id获取对应的数据,然后想怎么用就怎么用。
示例:我假设您列表中的每个个人资料项目都有一个唯一的 ID。在创建启动扩展配置文件的意图时传递此 ID activity:
Intent i = new Intent(activitycontext, ExpandedProfileActivity.class);
i.putExtra("uniqueid", uniqueIDofIndividualProfile);
startActivity(i);
在 ExpandedProfileActivity onCreate() 中:
Intent i = getIntent();
long uniqueId = i.getLongExtra("uniqueid", -1L);
if (uniqueId != -1L) {
// obtain data from database using uniqueId;
}
是的,有可能。
第一个Activity
EditText editText = (EditText) findViewById(R.id.text);
Intent intent = new Intent(context, secondActivity.class);
// Text of the edit text
intent.putExtra(KEY_TEXT, editText.getText().toString());
// Id of the image in res folder
intent.putExtra(KEY_IMAGE, R.drawable.myimage);
context.startActivity(intent);
第二个Activity(onCreate)
Intent intent = getIntent();
String text = intent.getStringExtra(KEY_TEXT, null);
int imageId = intent.getIntExtra(KEY_IMAGE, 0);
// do stuff with 'text' and 'imageId'