0

我现在正在编写教程,并且正在创建一个 Android 抽屉。

Java - 文件:
- MainActivity - NavigationDrawerFragment - AboutMeFragment - ContactInfoFragment - MyCompanyFragment

XML- 文件:
-activity_main -fragment_about_me -fragment_contact_info -fragment_my_company fragment_navigation_drawer - fragment_main

三个文件“AboutMeFragment、ContactInfoFragment、MyCompanyFragment 包含几乎相同的代码。

package blabla.app1;

import android.content.Context;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;


public class AboutMeFragment extends Fragment {

public static AboutMeFragment newInstance(){

    AboutMeFragment fragment = new AboutMeFragment();
    return fragment;
}


public AboutMeFragment(){}


@Nullable
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {


    View rootView = inflator.inflate(R.layout.fragment_about_me, container, false);
    return rootView;
}

@Override
public void onAttach(Context context) {
    super.onAttach(context);

    ((MainActivity) activity).onSectionAttached(1);

}
}

总之,我收到以下错误消息:1.“inflater”:无法解析符号充气机 2.“activity”:无法解析符号活动

谢谢

4

1 回答 1

0

第一个错误很容易修复,它只是一个拼写错误。您的方法显示onCreateView(LayoutInflater inflater...,但是当您在拼写它的方法中使用它时inflator,它不存在,只需将其更改为inflater.

第二个有点复杂,你的教程可能会使用

public void onAttach(Activity activity)

但现在已弃用并替换为

public void onAttach(Context context)

这就是为什么activity无法解决的原因,您没有任何称为“活动”的东西。解决这个问题并且仍然主要跟随您的教程的最快方法可能是将上下文转换为这样的活动:

    @Override
public void onAttach(Context context) {
    super.onAttach(context);
    if(context instanceof Activity) {
        MainActivity activity = (MainActivity) context;
        activity.onSectionAttached(1);
    }
}
于 2015-09-22T14:22:21.030 回答