我有问题,我无法解决。在我的活动中,我得到了一个函数,如果手机连接到 Wifi 或 3g 则返回。当我打开onCreate()时,我会初始化变量并在 5 秒内运行 TimerTask 5 次,以测试连接是否为“真”。
如果连接打开,我设置一个对用户可见的 Enter 按钮,单击以前进到我的下一个活动,并设置 2 个文本,以打开一条消息“CLICK enter to begin”。
问题出在 TimerTask 中,我收到一条错误消息:“只有创建视图层次结构的原始线程才能触及其视图”。我该如何解决???
代码:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.entry_activity);
enter = (Button) findViewById(R.id.button_enter);
intent = new Intent(EntryActivity.this, MainActivity.class);
warning = (TextView) findViewById(R.id.textView_warning);
turnOn = (TextView) findViewById(R.id.textView_turnOn);
Context context=this;
t = new Timer();
t.schedule( new TimerTask() {
@Override
public void run() {
if(isNetAvailable(getApplicationContext())){
enter.setVisibility(View.VISIBLE);
turnOn.setText("Click Enter to begin");
turnOn.setTextColor(R.color.Green);
t.cancel();
}
}
},0, 1000);
enter.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub~
startActivity(intent);
}
});
}
注意:在应用程序的开头,我假设没有 Internet 连接,这就是为什么我将 TextColor 更改为绿色并将打开更改为“单击 Enter ..”(在开头显示的文本是“没有 Internet ,开机。等待”...