2 clcurie 11 clcurie_11 于 2013.03.20 10:34 提问

如何实现在一个新 activity上显示文本?

在程序中设置一个按钮,当我点击这个按钮的时候,会跳到一个新的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 上显示文本?

2个回答

Singleton1900
Singleton1900   2013.03.20 10:59
已采纳

这个其实很简单的。
首先你应当了解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展示在文本里面。
具体的方法我就不贴了,你自己探索下。自己探索的学习效果比直接告诉你的效果很好很多。
加油!

nana4ever
nana4ever   2013.03.27 17:20

在你的 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");
}
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!