这很重要:使用选项卡式活动(已弃用)在我的代码中一切正常,只有当我使用片段时才会出现这个问题。我有三个选项卡,每个选项卡都是一个片段。每个选项卡的布局都相同:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<GridView android:id="@+id/newsView"
android:layout_width="fill_parent"
android:layout_height="0dp"
android:verticalSpacing="2dp"
android:numColumns="auto_fit"
android:gravity="center"
android:columnWidth="100dp"
android:layout_marginTop="4dp"
android:layout_marginBottom="4dp"
android:layout_weight="1"/>
</LinearLayout>
区别在于游标加载器的查询。实际上,每个片段都实现了 LaderCallbacks:
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
if(container == null)
return null;
View v = inflater.inflate(R.layout.activity_grid, container,false);
dataSource = new MyCursorAdapter(getActivity().getApplicationContext(), null);
GridView grid = (GridView)v.findViewById(R.id.newsView);
grid.setAdapter(dataSource);
getActivity().getSupportLoaderManager().initLoader(LOADER_ID, null, this);
return v;
对于其余的代码(例如光标查询),我 100% 确定,因为它在切换到片段之前有效。有任何想法吗?