2

我正在开发一个有一些肌肉锻炼的应用程序。

我希望在单击活动 1 中的每个项目时将我带到具有不同 ImageView 和 TextView 的活动 2。这可能吗 ??

图片

4

3 回答 3

2

是的,这是可能的。您必须为其他活动使用 Intent(包含有关练习的一些数据)。

在 onClick 项目上,您创建此意图并通过 startActivity(intent) 启动 Activity。在活动 2 中,您读出传入的 Intent 额外数据并相应地调整 TextView/ImageView。

于 2012-11-11T14:57:32.603 回答
2

-在您的第一个活动中创建ListView以显示您的项目。

-onItemClickListener()ListView 的方法上,使用Intent进入第二个 Activity。

-如果需要将值传递给第二个活动,请使用IntentputExtra()方法放置值,并在第二个活动中使用方法获取它们。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");
于 2012-11-11T15:00:33.910 回答
1

正如评论员所说“这是可能的”。可以通过 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 方法的变体,因为它们支持大多数通用类型。干杯!

于 2012-11-11T15:05:34.893 回答