0

私のアプリのメインアクティビティでは、ユーザーに名前を入力してシフト番号をクリックし、送信をクリックします。送信をクリックすると、新しいページ (アクティビティ) が表示され、そのページに名前とシフト番号が再度表示されます。しかし、その下にタイマー(xmlで提供されるタイマー)を表示したいのですが、1つのアクティビティでレイアウトのコンテンツと入力(インテント)を同時に表示する方法がわかりません。

ヘルプ?2つを連携させる方法はありますか?

これは私の 2 番目のアクティビティの .java ファイルです: package com.cyapps.downtimer;

import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;

public class WinderDTActivity extends Activity {

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        Bundle extras = getIntent().getExtras();
        if (extras != null){
            TextView textView = new TextView(this);
            String opName = extras.getString(MainActivity.OP_NAME);
            String rChoice = extras.getString(MainActivity.RADIO_CHOSEN);
            textView.setTextSize(15);
            textView.setText( "\n\tOperator Name: " + opName + "\n\t" + rChoice );
            setContentView(textView);
        }
    }
}

これは 2 番目のアクティビティの XML です。

    <TimePicker
        android:id="@+id/timePicker1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />

    <Button
        android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/submit" />

</LinearLayout>

私が望むのは、2 番目のページ/アクティビティに XML レイアウトを表示し、前のページから取得した入力も表示することです。それは可能ですか?

4

1 に答える 1

1

2 番目のアクティビティでは、setContentView(textView) の代わりに setContentView() を使用し、2 番目のアクティビティのすべてのビューを含むレイアウトを提供します。

 setContentView(R.layout.SECOND_ACTIVITY_LAYOUT);

最初のアクティビティの値を表示するには、新しいアクティビティを開始するときにインテントを介して値を渡します。インテントについては、このチュートリアルhttp://www.vogella.com/articles/AndroidIntent/article.htmlで学習できます。

編集: インテントを使用してデータをターゲット アクティビティにプッシュするには:

最初のアクティビティでputExtra() を使用して、インテントを開始する前に新しい名前と値のペアを追加します。

i.putExtra("message", This is a string);
i.putExtra("age", 25);

2 番目のアクティビティで、渡された Bundle オブジェクトを取得します。

Bundle extras = getIntent().getExtras();

エクストラを null に対してチェックし、値を取得します。

if (extras != null) {
    String message = extras.getString("message");
    int a = extras.getInt("age");
}

これで、メッセージと変数の値を使用して TextView のテキストを設定できます。

于 2012-10-19T02:09:25.003 に答える