Я хочу обновить активность, так как я хочу, чтобы при отсутствии какого-либо события какая-то работа выполнялась, а действия вызывали сами. Итак, я хочу знать, есть ли какой-либо вариант в android, чтобы обновить активность самостоятельно.Как обновить активность?
ответ
Вы можете сделать это самостоятельно через Handler, на котором вы называете postDelayed (..)
http://developer.android.com/reference/android/os/Handler.html#postDelayed(java.lang.Runnable, длинный)
это в вашем классе:
private final Handler handler = new Handler();
сделать функцию вызванный: doTheAutoRefresh(), который делает:
private void doTheAutoRefresh() {
handler.postDelayed(new Runnable() {
@Override
public void run() {
doRefreshingStuff(); // this is where you put your refresh code
doTheAutoRefresh();
}
}, 1000);
}
Назовите это fu в вашем onCreate.
ПРИМЕЧАНИЕ: это основной подход. подумайте о том, чтобы остановить это после того, как onPause был вызван и возобновить его после onResume. Посмотрите класс обработчика, чтобы узнать, как его удалить.
Вы можете создать поток и и вызвать обновление() с задачей, которую требуется обновить
для других вопросов, который я вытащил наиболее эффективных способов сделать это являются:
finish();startActivity(getIntent());
иЛИ
// Refresh main activity upon close of dialog box
Intent refresh =new Intent(this, ActivityWeAreIn.class);
startActivity(refresh);
Примечание: это также работает с объектами деятельности или фрагментов с помощью getActivity()
Если вы используете BaseAdapter или ArrayAdapter, просто вызовите notifyDataSetChanged(), чтобы обновить ваше представление. – 100rabh 2010-11-30 06:43:32
@ 100rabh: справа. если он обновляет список. он должен написать, что и как он на самом деле пытается обновить. чем мы могли бы дать лучшую информацию. – 2010-11-30 07:04:21