我有一个像这样的公共方法的片段(F1)
public void asd() {
if (getActivity() == null) {
Log.d("yes","it is null");
}
}
Run Code Online (Sandbox Code Playgroud)
是的,当我调用它(来自Activity)时,它是null ...
FragmentTransaction transaction1 = getSupportFragmentManager().beginTransaction();
F1 f1 = new F1();
transaction1.replace(R.id.upperPart, f1);
transaction1.commit();
f1.asd();
Run Code Online (Sandbox Code Playgroud)
它一定是我做错了,但我不知道那是什么
null android android-context android-fragments android-activity
我正在关注有关检索联系人并使用片段显示联系人的联系提供者课程.作为参考,我已将API级别设置为16(Android 4.1).
我大部分时间都遵循了这个教程,但有一些值得注意的例外.例如,我从而mypackage.R不是导入android.R.
我的问题出在我的onActivityCreated处理程序中ListContactsFragment:
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
// Initializes the loader
getLoaderManager().initLoader(0, null, this);
// Gets the ListView from the View list of the parent activity
View mContactsListView =
getActivity().findViewById(R.layout.contacts_list_view);
mContactsList = (ListView) mContactsListView;
// Gets a CursorAdapter
mCursorAdapter = new SimpleCursorAdapter(
getActivity(),
R.layout.contacts_list_item,
null,
FROM_COLUMNS, TO_IDS,
0);
// Sets the adapter for the ListView
mContactsList.setAdapter(mCursorAdapter);
// Set the item click listener to …Run Code Online (Sandbox Code Playgroud)