2012-05-20 73 views
1

我的應用程序設置了橄欖球隊名稱列表,並且在單擊文本視圖時,相應的類在intent方法中被調用。開始新活動時的進度對話框

被稱爲負載是大約200KB的XML佈局文件中的類。我想在後臺加載xml文件的同時實現進度/加載圖標。

我已經看了本網站和閱讀有關ASynchTask,但我不知道我需要在doInBackground()方法寫什麼代碼。

這裏是我的類:

我有textviews的數組初始化得到,並且點擊時分配給每個TextView的類名的數組。

任何人都可以幫助我嗎?我是一個noobie。

作爲替代方案,是有加載所有這些類中的背景上的應用程序的用戶第一次點擊時的方法嗎?

公共類傳輸擴展活動{

public final int[] teams = { R.id.ars, R.id.ast, R.id.bir, R.id.bla, 
     R.id.blp, R.id.bol, R.id.che, R.id.eve, R.id.ful, R.id.hul, 
     R.id.lee, R.id.liv, R.id.mid, R.id.mnc, R.id.mnu, R.id.nor, 
     R.id.nwu, R.id.por, R.id.qpr, R.id.sto, R.id.sun, R.id.swa, 
     R.id.tot, R.id.wes, R.id.wig, R.id.wol }; 

public final String[] teamnames = { "ars", "ast", "bir", "bla", "blp", 
     "bol", "che", "eve", "ful", "hul", "lee", "liv", "mid", "mnc", 
     "mnu", "nor", "nwu", "por", "qpr", "sto", "sun", "swa", "tot", 
     "wes", "wig", "wol" }; 

TextView tv; 
Class classname; 
String prefix = "ttj.android.ft.teams."; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.m_transfers); 

    for (int i = 0; i < teams.length; i++) { 
     final int j = i; 
     tv = (TextView) findViewById(teams[i]); 
     tv.setOnClickListener(new View.OnClickListener() { 
      public void onClick(View v) { 
       try { 
        classname = Class.forName(prefix + teamnames[j]); 
        Intent open = new Intent(Transfers.this, classname); 
        startActivity(open); 
       } catch (ClassNotFoundException e) { 
        e.printStackTrace(); 
       } 
      } 
     }); 
    } 
    ; 
} 
+0

可能是我的【答案】(http://stackoverflow.com/a/9078502/996493)幫助你:) – Lucifer

+0

@Lucifer感謝。我看了你的解決方案。我如何將這些代碼實現到我的課堂上?任何幫助,將不勝感激。另外,請將您的答覆轉給答案,以便我可以讚揚您的知識! :-) – tiptopjat

+0

當您開始調用您的下一個活動時,只需顯示ProgressDialog,執行後臺進程,然後在處理程序中關閉它,非常簡單。 – Lucifer

回答

2

你應該念念不忘的進度條和使用的TextView的陣列重新思考。

我不知道你是如何在屏幕上顯示它們的,但你應該切換到使用某種AdapterView(即ListView,GridView等)。然後加載適配器與你所有的團隊。這將顯着減少您正在創建的實際View對象的總數,這將減少一些您的加載時間。

+0

感謝。我在這段代碼中投入了太多時間來玩弄邏輯!我的Java技能至少可以說是基本的。試圖找出如何實施Lucifer提出的解決方案 – tiptopjat

相關問題