java如何在安卓中使用多线程更新TextView
public class MainActivity extends Activity implements Runnable{
final TextView txtCounter = (TextView)findViewById(R.id.counter);
Thread mythread;
int i = 0;
boolean running = false;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final Button btnstart= (Button)findViewById(R.id.btnStart);
final Button btnstop = (Button)findViewById(R.id.btnStop);
btnstart.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View arg0) {
try{
running = true;
mythread = new Thread();
mythread.start();
}catch(Exception e){
e.printStackTrace();
}
}
});
btnstop.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View arg0) {
try{
running = false;
}catch(Exception e){
e.printStackTrace();
}
}
});
}
@Override
public void run(){
try{
while(i <= 1234567 && running){
Thread.sleep(1000);
i++;
txtCounter.setText(i);
}
}
catch(Exception e){
e.printStackTrace();
}
}
}
我试着用两个按钮来做,当按下开始按钮时,它每秒递增一个数字,并更新文本视图,直到按下停止按钮。在活动区。xml文件只有一个文本视图和两个按钮,一个用于启动,另一个用于停止
我们按下停止按钮后,如果再次按下开始按钮,它将从上次更新的最后一个数字开始
但是我犯了个错误
java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.example.prg4/com.example.prg4.MainActivity}: java.lang.NullPointerException
# 1 楼答案
我的回答可能不正确,因为我没有完全理解你。也许,你可以从this splash screen得到答案
我把它添加到了闪屏上。将运行一个文本(二进制)
输出如下:
每封信都一个接一个地显示出来。我不确定这是不是你的答案