問題があり、解決できません。私の活動では、電話が Wifi または 3g に接続されている場合に戻る関数を取得しました。onCreate()を開くと、変数の初期化を行い、TimerTask を 5 秒で 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);
}
});
}
注: アプリの開始時には、インターネット接続がないと想定しているため、TextColor を緑に変更し、turnOn を「Enter をクリックしてください..」に変更しています (最初に表示されるテキストは「インターネットがありません」です)。 、電源を入れてください。待っています」...