2011-10-07 63 views
25

的主题是否有可能提供一个名称的的AsyncTask的后台线程,如在Java正常主题:名称的的AsyncTask

Thread(Runnable target, String name) 

我见过的AsyncTask的代码和默认构造函数只是给默认情况下

private static final ThreadFactory sThreadFactory = new ThreadFactory() { 
    private final AtomicInteger mCount = new AtomicInteger(1); 

    public Thread newThread(Runnable r) { 
     return new Thread(r, "AsyncTask #" + mCount.getAndIncrement()); 
    } 
}; 

一个名字,我想这样做,因为当我调试我想知道的AsyncTask是一个辅助类访问方法。

+3

你是什么意思,不能延长?您必须扩展AsyncTask才能使用它。为什么不只是扩展默认构造函数,并添加在构造函数中设置的私有成员“名称”? – Maggie

回答

55

尝试从里面doInBackground()调用此:

Thread.currentThread().setName("some custom name"); 
-5

为什么你不能扩展我不明白的AsyncTask。

我用调试器扩展我的AsyncTask一千次显示哪个AsyncTask是婊子。

public class MyAsyncTask extends AsyncTask<Void, Void, Void>{ 
} 

像这样

+1

如果我想扩展类,我必须实现doInBackground方法,并且名称如何?这不是默认的构造函数。 – Dayerman

+0

然后创建MyAsyncTask的构造函数。当你创建AysncTask时,你使用新的MyAsyncTask(String name)来初始化你的asyncTask。我仍然不明白你的意思是AsyncTask的名字 –

+1

这个名字我打算给这个类添加一个参数,它是asynctask的名字。作为我的问题的第一评论。我的想法是添加名称,当我创建新的线程“AsyncTask#”+ mCount.getAndIncrement()+名称);例如。 – Dayerman