我将这段代码放入ListFragment
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
aa = new ArrayAdapter<String>(getActivity(), android.R.layout.simple_list_item_1, postTitleList);
setListAdapter(aa);
Thread syncThread = new Thread(new Runnable(){
public void run()
{
syncPosts();
}
});
syncThread.start();
Log.d("POSTS", "Thread Status: " + syncThread.getState().toString());
Log.d("POSTS", "Thread ID: " + Long.toString(syncThread.getId()));
}
但遗憾的是Thread永远不会启动,它仍处于WAITING状态,是否有办法强制它运行?
答案 0 :(得分:2)
我相信它正在运行。它很可能会进入WAITING
状态,因为syncPosts()
中的某些内容正在等待某些内容。 WAITING
是您在执行某些object.wait();
并等待某人notify()
时获得的状态。
如果您展示了一些syncPosts()
代码,我们应该能够帮助您找到线程卡住的位置。
答案 1 :(得分:0)
经过很多Log.d()之后,我发现了问题:它在第58行
if(child.getNodeName() == "title")
将此行更改为
if(child.getNodeName().equals("title"));
一切正常