我的应用程序设置了一个足球队名称列表,然后单击文本视图,然后在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();
}
}
});
}
;
}
最佳答案
您应该暂时忘记进度条,然后重新考虑使用TextView的数组。
我不知道如何在屏幕上显示它们,但您应该切换到使用某种AdapterView(即ListView,GridView等)。然后将适配器加载到所有团队中。这将大大减少您正在创建的实际View对象的总数,这将减少您的加载时间。