开始新活动时的进度对话框

时间:2012-05-20 01:51:54

标签: android progress-bar classloader progressdialog

我的应用程序设置了一个足球队名称列表,并且在单击文本视图时,会在intent方法中调用相应的类。

被调用的类加载大约200kb的xml布局文件。我希望在后台加载xml文件的同时实现进度/加载图标。

我已经浏览了这个网站并阅读了有关ASynchTask的内容,但我不知道在doInBackground()方法中需要编写哪些代码。

这是我的班级:

我有一组初始化的textview,以及点击时分配给每个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();
                }
            }
        });
    }
    ;
}

1 个答案:

答案 0 :(得分:2)

您应该暂时忘记进度条并使用TextView数组重新思考。

我不知道你是如何在屏幕上显示它们的,但你应该切换到使用某种AdapterView(即ListView,GridView等。)然后加载一个适配器全部你的团队。这将显着减少您正在创建的实际View对象的总数,这将减少一些加载时间。