在我的应用程序的主要活动中,用户输入他们的姓名并单击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布局,并显示我从上一页获得的输入。这可能吗?
答案 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的文本。