0

我将这段代码放入 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()));
}

但不幸的是,线程永远不会启动,它仍然处于等待状态,有没有办法强制它运行?

4

2 回答 2

2

我相信它正在运行。它很可能会进入一个WAITING状态,因为里面的东西syncPosts()正在等待某物。 WAITING是您在做某事object.wait();并等待某人做某事时所获得的状态notify()

如果您显示一些syncPosts()代码,我们应该能够帮助您找到线程卡住的地方。

于 2013-04-27T15:57:36.270 回答
0

经过大量的 Log.d() 后,我发现了问题:它在第 58 行

if(child.getNodeName() == "title")

将此行更改为

if(child.getNodeName().equals("title"));

一切正常

于 2013-04-27T18:21:00.967 回答