2

私はいくつかの筋肉のトレーニングがあるアプリに取り組んでいます。

アクティビティ1の各アイテムをクリックして、異なるImageViewとTextViewを使用してアクティビティ2に移動したい。これは可能ですか?

写真

4

3 に答える 3

2

はい、これは可能です。他のアクティビティには、インテント(演習に関するデータを含む)を使用する必要があります。

onClickアイテムで、このインテントを作成し、startActivity(intent)を介してアクティビティを起動します。アクティビティ2では、受信したIntentの追加データを読み取り、それに応じてTextView/ImageViewを調整します。

于 2012-11-11T14:57:32.603 に答える
2

-最初のアクティビティで、アイテムを表示するために作成しますListView

-ListViewonItemClickListener()メソッドで、を使用Intentして2番目のアクティビティに移動します。

-インテントputExtra()のメソッドを使用して、2番目のアクティビティに渡す必要がある場合は値を入力し、メソッドを使用して2番目のアクティビティで値を取得しますgetExtras()

アクティビティ1:

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);



        });

アクティビティ2:

Intent i = getIntent();
String index = intent.getExtras().getString("value1");
String value = intent.getExtras().getString("value2");
于 2012-11-11T15:00:33.910 に答える
1

コメンテーターが言ったように「それは可能です」。アクティビティを開始するために使用されるインテントを介して可能です。Intent.putExtra(key、value)バリエーションを使用します。これらのエクストラは、バンドルオブジェクトとしてアクティビティに渡されます。そこであなたはあなたのエキストラをフェッチするかもしれません。たとえば、次のように添付できます。

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 に答える