0

为什么下面的简单代码在 Android 3.0 中有效,但在 2.3.3 中无效???
在 2.3.3 中,它只显示一个空白屏幕。

LogCat 中没有消息。
任何帮助,将不胜感激。

import android.os.Bundle;
import android.support.v4.app.ListFragment;
import android.widget.ArrayAdapter;

public class TestListFragment extends ListFragment {

    private ArrayAdapter<String> myAdapter;

    private String[] data = {"One", "Two", "Three"};

    @Override
    public void onActivityCreated(Bundle savedInstanceState) {
        super.onActivityCreated(savedInstanceState);

        myAdapter = new ArrayAdapter<String>(getActivity(), android.R.layout.simple_list_item_1, data);

        setListAdapter(myAdapter);
    }
}

问候,

* *编辑

我找到了原因。如果activity扩展了FragmentActivity,上面的代码在2.3.3中可以工作,但是如果扩展了ActionBarActivity就不行了。

有人知道如何解决吗?

4

1 回答 1

0

我认为解决方法是不使用默认的 android.R.id.content 来显示片段。
我只是这样做:
在您的活动的 onCreate() 中(扩展 ActionBarActivity):

setContentView(R.layout.whocares); getSupportFragmentManager().beginTransaction().add(R.id.the_root_view,yourFragment).commit();

于 2013-11-23T13:04:54.710 回答