誤差initLoader調用不會將「this」作爲第三個參數。下面「在 'android.support.v4.app.LoaderManager
initLoader(INT,android.os.Bundle,android.support.v4.app.LoaderManager.LoaderCallbacks)全部錯誤' 不能是應用於'(int,null,group15.cop4331project.MyReportsFragment)
我已閱讀關於支持庫的所有答案,但事實並非如此。我試圖用SQLite數據庫中的列表來填充這個片段。我真的很想弄清楚爲什麼這不起作用。此外,我認爲我正確使用OnCreateView和OnActivityCreated,但我不確定。
我進口
import android.content.ContentUris;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.ListView;
我的代碼
public class MyFragment extends Fragment implements LoaderManager.LoaderCallbacks <Cursor> {
//adapter for the ListView
MyCursorAdapter mCursorAdapter;
View rootView;
public MyReportsFragment() {
// Required empty public constructor
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
rootView = inflater.inflate(R.layout.report_list, container, false);
return rootView;
}
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
// Find the listview which will be populated with the data
ListView listView = (ListView) rootView.findViewById(R.id.list);
// Setup an Adapter to create a list item for each row of data in the Cursor.
mCursorAdapter = new ReportCursorAdapter(getActivity(), null);
listView.setAdapter(mCursorAdapter);
// Setup the item click listener
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {@Override
public void onItemClick(AdapterView < ?>adapterView, View view, int position, long id) {
Intent intent = new Intent(getActivity(), EditReportActivity.class);
Uri currentUri = ContentUris.withAppendedId(ReportEntry.CONTENT_URI, id);
// Set the URI on the data field of the intent
intent.setData(currentUri);
startActivity(intent);
}
});
// Kick off the loader
getLoaderManager().initLoader(REPORT_LOADER, null, this);
//getActivity().getSupportLoaderManager().initLoader(REPORT_LOADER, null, this);
}
}
我想,複製和粘貼幾個import語句(這是我從其他的答案一樣)因爲某些原因沒有工作,但這似乎這樣的伎倆。非常感謝你。 – bous006
因此,不幸的是,如果我刪除了支持v4庫,那麼我無法在選項卡之間實施滑動。我不認爲你知道我能做到的兩種方法,一種是我可以在上面做什麼? – bous006
其實我也有這個問題:)如果你使用帶有fragmentPagerAdapter的viewPager,你可以在你的gradle文件中使用:compile'com.android.support:support-v13:25.1.1'導入support.v13庫。 v13支持庫包含一個可以處理android.app.Fragments的FragmentPagerAdapter類。祝你好運J – nir