0

我一直在研究 Android 中的线程和处理程序示例——对我来说是一个新概念。我以为我会从 Hello World 开始。我从其他人的代码中提取了一些片段,看看我是否可以让它工作,但我不确定我在做什么。代码贴在下面。有人可以分享一些建议吗?我只希望 Hello World 在应用程序启动后显示一两秒。那么我做错了什么?

public class HelloWorld extends Activity {

private Handler handler;
private Runnable r;
private TextView hello;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_hello_world);

     handler = new Handler();
     handler.post(r);
     Runnable r=new Runnable()

     {

    public void run() 

        {
            hello.append("Hello World This is A Thread");                       
        }
     }; 

    handler.postDelayed(r, 1000);

}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.hello_world, menu);
    return true;
}

}

4

1 回答 1

1

TextView名称hello尚未初始化。Handler和Thread也是两个不同的概念。您使用处理程序的方式与编写方式相同

hello.append("Hello World This is A Thread");

onCreate你的Activity.

之后setContentView(R.layout.activity_hello_world);

你必须初始化你的TextView

hello = (TextView) findViewById(R.id.helloId);
于 2013-05-10T14:15:45.633 回答