在程序中设置一个按钮,当我点击这个按钮的时候,会跳到一个新的activity,名称是"TUTORIALONE", 然后我想在这个新 activity 中显示一些文本。
Button b = (Button) findViewById(R.id.tutorial1);
b.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
startActivity(new Intent("my.android.TUTORIALONE"));
TextView tv = (TextView)findViewById(R.id.tutorial1);
tv.setText("this is some text);
}
});
问题是它首先在按钮上显示文本,然后显示新的 activity,如何实现在一个新 activity 上显示文本?
这个其实很简单的。
首先你应当了解intent的用法。
intent是可以携带数据传递到另一个activity里面的。
例如:
Intent intent = new Intent("my.android.TUTORIALONE");
Bundle bundle = new Bundle();
bundle.putString("key", "需要传递的String");
intent.putExtras(bundle);
startActivity(intent);
在新的Activity里面通过getIntent()方法可以获得传递的这个bundle,根据key获得里面的String的值。在将String展示在文本里面。
具体的方法我就不贴了,你自己探索下。自己探索的学习效果比直接告诉你的效果很好很多。
加油!
在你的 TUTORIALONE activity中,你可能有一个相关的 xml 文件来显示内容。它的 iss 设置应该是
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.id.TUTORIALONE);
}
对于 TUTORIALONE,在布局文件中要添加:
<TextView android:id="@+id/text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hello, I am a TextView" />
要改变 TextView 的文本,在 TUTORIALONE activity 中这样设置
protected void onStart()
{
TextView tv = (TextView)findViewById(R.id.text);
txt.setText("this string is set dynamically from java code");
}