2013-05-10 2 views
0

Я изучал примеры Threads and Handlers в Android - новую концепцию для меня. Я думал, что начну просто с Hello World. Я сделал несколько фрагментов из кода других людей, чтобы посмотреть, смогу ли я заставить его работать, но я не совсем уверен, что делаю. Код размещен ниже. Может ли кто-нибудь поделиться советами? Я просто хочу, чтобы Hello World отображал секунду или два после запуска приложений. Так что я делаю неправильно?Hello World с использованием Thread в Android

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; 
} 

}

ответ

1

TextView имени hello не intialized. Также 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); 
+0

Ах да, совершенно не видел, что это. Я серьезно сосать очевидное. – David

+0

происходит каждый раз, когда вы начинаете что-то новое. В следующий раз будет лучше – Blackbelt

+0

, если ответ помог вам пометить как принятый – Blackbelt