相关疑难解决方法(0)

getActivity()在Fragment函数中返回null

我有一个像这样的公共方法的片段(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

182
推荐指数
7
解决办法
15万
查看次数

getActivity().findViewById返回null,从片段onActivityCreated调用

我正在关注有关检索联系人并使用片段显示联系人联系提供者课程.作为参考,我已将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)

android android-xml android-fragments android-activity

11
推荐指数
1
解决办法
2万
查看次数