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 です。

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:gravity="center_horizontal"
    android:orientation="vertical" >

    <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 番目のアクティビティで名前とシフト番号を再作成する必要があると思います。これを達成するには、次のことを行う必要があります。

メイン アクティビティにインテント パラメータを追加します。

intent.putExtra("name", mName);
intent.putExtra("shiftNum", mShiftNum);

2 番目のアクティビティでは、名前とシフト番号用のスペースがあるレイアウトが必要です (既にあるタイマーは別として)。これは TextView である可能性があります。次に、この TextView にインテント パラメーターを入力します。

TextView tv = findViewById(...);
tv.setText(getIntent().getStringExtra("name") + ": " + getIntent().getStringExtra("shiftNum"));
于 2012-10-18T17:04:12.033 に答える