Android - 显示上一个活动的输入到显示xml布局的新活动

时间:2012-10-19 02:04:07

标签: android xml layout android-activity

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

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

这是我的第二个活动的.java文件:     包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:     

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

在第二个活动中,使用setContentView()代替setContentView(textView),并提供包含第二个活动的所有视图的布局:

 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);
第二个活动中的

获取传入的Bundle对象:

Bundle extras = getIntent().getExtras();

检查额外值是否为null并检索值:

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

现在,您可以使用message和变量的值设置TextView的文本。