0

在我的应用程序的主要活动中,它让用户输入他们的姓名并单击班次编号并单击提交。当他们点击提交时,它会将他们带到一个新页面(活动),该页面再次显示他们的姓名和班次编号。但在下面,我希望它显示计时器(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 布局,并显示我从前一页获得的输入。那可能吗?

4

1 回答 1

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 检查 extras 并检索值:

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

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

于 2012-10-19T02:09:25.003 回答