2011-11-22 38 views
0

我想知道如何才能讓屏幕重繪它的當前內容?如何在Android中重畫屏幕

我現在有以下內容:我有一個活動,檢查標誌是否設置爲true或false,如果標誌爲true,則需要加載一個xml文件作爲佈局,如果標誌是假它需要加載一個不同的。此代碼有效。

我遇到的問題是,屏幕不會重新繪製自己,除非我改變其方向,即我翻轉手機。我需要在旗幟狀態發生變化的時刻重繪。我曾與onResume(),但問題是,佈局回到默認狀態,並沒有保存任何輸入或按鈕的變化,這發生了,當我從一個選項卡切換到下一個。

所以我想我所問的是如何可以對佈局文件進行更改,並在切換應用程序中的選項卡時保留它們,以便當我回到該選項卡時,所有更改還在嗎?

回答

0

爲什麼你不是一個AsyncTask在背景中等待你的標誌變爲true(或false idk),然後onPostExecute你可以根據需要修改你的UI。切換選項卡不應使您的活動更改。希望能幫助到你。

private class WaitMyFlag extends AsyncTask<Void,Void,Void>{ 
    @Override 
protected Void doInBackground(Void... params) { 
     while(!youflag){ 
      try { 
       Thread.sleep(100); 
      } catch (Exception e){ 
       Log.e(TAG, "Couldn't sleep !"); 
      } 
     } 
    } 

    @Override 
protected Void onPostExecute(Void params) { 
     //UI Modifications 
    } 
}