我有一个运行下面代码的 onCreate 方法。简而言之,代码从服务器检索数据并将其显示在消息传递程序的屏幕上。它只执行一次,但我希望它每 3 秒运行一次 AsyncTask(以尝试模拟聊天)。我很确定这不是拥有聊天系统的方法,但是,我只需要现在可以工作的东西(作为概念证明),稍后我将专注于实现它的正确方法。
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.chat_box);// sd
final Functions function = new Functions();
final SharedPreferences prefs = PreferenceManager
.getDefaultSharedPreferences(getBaseContext());
whatroom = prefs.getString("chat", "null");
new AsyncTask<String, Void, String>() {
@Override
protected String doInBackground(String... args) {
return function.getInbox(args[0]);
}
@Override
protected void onPostExecute(String result) {
TextView inbox = (TextView) findViewById(R.id.inbox);
ProgressBar progressBar = (ProgressBar) findViewById(R.id.progressBar1);
progressBar.setVisibility(View.GONE);
inbox.setText(result);
}
}.execute(whatroom);
}
我尝试在 asynctask 周围放置一个简单的 while 语句,但是它只是强制关闭。