当ListFragment为空时,SetEmptyText()不会显示

时间:2013-07-15 11:24:19

标签: android android-listfragment

我正在使用ListFragments ..我想在列表为空时使用setEmptyText()但它没有显示它继续显示进度它继续显示进度条我不确切知道布局在哪里包含此列表,这是我的代码

@Override
public void onActivityCreated(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onActivityCreated(savedInstanceState);

    new getData().execute();
}

private class getData extends AsyncTask<Void, Void, ArrayList<Object>> {

    @Override
    protected ArrayList<Object> doInBackground(Void... params) {
        // TODO Auto-generated method stub
        try {
            artists = new ArrayList<Object>();
            artists = loadArtists("taqwa.xml");
            return loadXml("taqwa.xml");
        } catch (XmlPullParserException e) {
            e.printStackTrace();

            Utils.log("XML exception", "true");
            return null;
        } catch (IOException e) {
            e.printStackTrace();

            Utils.log("IOException", "true");

            return null;
        }
    }

    @Override
    protected void onPostExecute(ArrayList<Object> result) {
        // TODO Auto-generated method stub
        super.onPostExecute(result);

        if (result != null) {
            ListAdapter ladapter = new ListAdapter(getActivity(),
                    R.layout.list_row, null, artists, 3);
            setListAdapter(ladapter);
        } else {
            setEmptyText("not found wallahi!");
        }

    }

}

你可以看到我不使用包含@ id / android:list的布局来添加@id / android:empty ..我只将列表项发送到baseAdapter

1 个答案:

答案 0 :(得分:4)

看起来你没有列表视图的适配器,所以setEmptyText()不起作用。