Android - 从上次活动获取输入(意图)到新活动但是同时显示布局?

时间:2012-10-18 16:32:04

标签: android layout button android-activity

在我的应用程序的主要活动中,用户输入他们的姓名并单击Shift编号并单击提交。当他们点击提交时,它会将他们带到一个新页面(活动),该页面再次显示他们的姓名和班次号码。但在下面,我希望它显示Timer(xml中提供的计时器),但我不知道如何让它在一个活动上同时显示布局的内容和输入(意图)。 / p>

帮助?有没有办法合作这两个?

这是我的第二个活动的.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);
        }
    }
}

这是第二个活动的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>

我想要的是让第二页/活动显示XML布局,并显示我从上一页获得的输入。这可能吗?

1 个答案:

答案 0 :(得分:1)

我认为您应该在第二个活动中重新创建名称和班次号码。为了实现这一目标,您需要:

在主要活动中,设置意图参数:

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

在第二个活动中,您需要一个布局,其中包含名称和班次编号的空间(除了您已有的计时器)。这可能是一个TextView。然后,使用intent参数填充此TextView:

TextView tv = findViewById(...);
tv.setText(getIntent().getStringExtra("name") + ": " + getIntent().getStringExtra("shiftNum"));