我正在开发一个有一些肌肉锻炼的应用程序。
我希望在单击活动 1 中的每个项目时将我带到具有不同 ImageView 和 TextView 的活动 2。这可能吗 ??
是的,这是可能的。您必须为其他活动使用 Intent(包含有关练习的一些数据)。
在 onClick 项目上,您创建此意图并通过 startActivity(intent) 启动 Activity。在活动 2 中,您读出传入的 Intent 额外数据并相应地调整 TextView/ImageView。
-在您的第一个活动中创建ListView
以显示您的项目。
-在onItemClickListener()
ListView 的方法上,使用Intent
进入第二个 Activity。
-如果需要将值传递给第二个活动,请使用Intent的putExtra()
方法放置值,并在第二个活动中使用方法获取它们。getExtras()
活动一:
lv.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
long arg3) {
i = new Intent(Activity1.this,Activity2.class);
i.putExtra("value1","hello");
i.putExtra("value2","hi");
startActivity(i);
});
活动二:
Intent i = getIntent();
String index = intent.getExtras().getString("value1");
String value = intent.getExtras().getString("value2");
正如评论员所说“这是可能的”。可以通过 Intent 用于启动活动。使用Intent.putExtra(key,value)变体。这些额外内容将作为Bundle对象传递给活动。在那里你可能会得到你的临时演员。例如,您可以附加;
Intent intent = new Intent(HostActivity.this, SuccessorClass.class);
intent.putExtra("Extra key", extraData);
startActivity(intent);
您可以使用以下方法获取附加数据;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Object extraData = savedInstanceState.get("Extra key");
}
请务必检查 put 和 get 方法的变体,因为它们支持大多数通用类型。干杯!