我需要向Asynctask doInBackground方法传递两个参数(lv和position),但我不知道如何做...
LoadSound.execute(lv,position)
class LoadSound extends AsyncTask<**[ListView,int]**, String, String>
感谢您的信任!
编辑:
我有一个 ListView。如果您单击其中一个项目,则播放互联网中的声音。
我想使用 Asynctask 显示 progressDialog。
在 doInBackground 方法中,我有 itemOnClick:
HashMap<String, String> o = (HashMap<String, String>) lv.getItemAtPosition(position);
因此我需要传递lv和position参数。
ListView
传递到AsyncTask
的doInBackground(...)
方法中,但基本上你真的不想这样做。ListView
可能是Activity
内容视图的一部分,如果你从运行doInBackground(...)
代码的Thread
中触摸它,你将会得到一个异常抛出并且你的应用程序将会崩溃。 - SquonkAsyncTask
的doInBackground(...)
方法中访问,会导致应用程序崩溃。我真的不知道为什么你想使用AsyncTask
来播放声音——如果你想要背景音乐,可以使用一个Service
。或者,如果你坚持使用AsyncTask
,将ListView
选择监听器放在Activity
中,并将HashMap
作为参数传递给AsyncTask
。 - Squonk