Android 在DialogFragment IllegalStateException中膨胀RecyclerView

Android 在DialogFragment IllegalStateException中膨胀RecyclerView,android,dialog,android-recyclerview,Android,Dialog,Android Recyclerview,我需要在对话框中放置“回收器”视图,因此我执行以下操作: public class RecyclerTemperatureFragment extends DialogFragment { String[] items = {getString(R.string.kt),getString(R.string.mph),getString(R.string.kmh)}; RecyclerView recyclerView; RecyclerTemperatureAdapter adapter;

我需要在对话框中放置“回收器”视图,因此我执行以下操作:

public class RecyclerTemperatureFragment extends DialogFragment
{
String[] items = {getString(R.string.kt),getString(R.string.mph),getString(R.string.kmh)};
RecyclerView recyclerView;
RecyclerTemperatureAdapter adapter;

public static RecyclerTemperatureFragment newInstance()
{
    Bundle args = new Bundle();

    RecyclerTemperatureFragment fragment = new RecyclerTemperatureFragment();
    fragment.setArguments(args);
    return fragment;
}

@Override
public Dialog onCreateDialog(Bundle savedInstanceState)
{
    Dialog dialog = new Dialog(getActivity());
    return dialog;
}

public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
{
  View rootView = inflater.inflate(R.layout.fragment_recycler_temperature, container, false);

  recyclerView = (RecyclerView)rootView.findViewById(R.id.recTemperature);
  adapter = new RecyclerTemperatureAdapter(getActivity(),items);
  recyclerView.setHasFixedSize(true);
  recyclerView.setLayoutManager(new LinearLayoutManager(getActivity()));
  recyclerView.addItemDecoration(new SimpleDividerItemDecoration(getActivity()));
  recyclerView.setAdapter(adapter);

  getDialog().getWindow().requestFeature(Window.FEATURE_NO_TITLE);

  return rootView;
}
}
  public class TrueAirSpeedFragment extends Fragment
  {
   TextView casTW, paTW, satTW, ins, clc,casUM,paUM,satUM;
   ImageView calculate;
   EditText casET, paET, satET;

public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
{
 //this works
}
private void setUpCASUM(final TextView textview)
{
    RecyclerTemperatureFragment dialog = RecyclerTemperatureFragment.newInstance();
    FragmentManager manager = getFragmentManager();
    dialog.show(manager,"DTAG");
}
在我的课堂上,在我的按钮的OnClickListener事件中,我执行以下操作:

public class RecyclerTemperatureFragment extends DialogFragment
{
String[] items = {getString(R.string.kt),getString(R.string.mph),getString(R.string.kmh)};
RecyclerView recyclerView;
RecyclerTemperatureAdapter adapter;

public static RecyclerTemperatureFragment newInstance()
{
    Bundle args = new Bundle();

    RecyclerTemperatureFragment fragment = new RecyclerTemperatureFragment();
    fragment.setArguments(args);
    return fragment;
}

@Override
public Dialog onCreateDialog(Bundle savedInstanceState)
{
    Dialog dialog = new Dialog(getActivity());
    return dialog;
}

public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
{
  View rootView = inflater.inflate(R.layout.fragment_recycler_temperature, container, false);

  recyclerView = (RecyclerView)rootView.findViewById(R.id.recTemperature);
  adapter = new RecyclerTemperatureAdapter(getActivity(),items);
  recyclerView.setHasFixedSize(true);
  recyclerView.setLayoutManager(new LinearLayoutManager(getActivity()));
  recyclerView.addItemDecoration(new SimpleDividerItemDecoration(getActivity()));
  recyclerView.setAdapter(adapter);

  getDialog().getWindow().requestFeature(Window.FEATURE_NO_TITLE);

  return rootView;
}
}
  public class TrueAirSpeedFragment extends Fragment
  {
   TextView casTW, paTW, satTW, ins, clc,casUM,paUM,satUM;
   ImageView calculate;
   EditText casET, paET, satET;

public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
{
 //this works
}
private void setUpCASUM(final TextView textview)
{
    RecyclerTemperatureFragment dialog = RecyclerTemperatureFragment.newInstance();
    FragmentManager manager = getFragmentManager();
    dialog.show(manager,"DTAG");
}
}

但当我启动它时,我得到了以下错误:

 java.lang.IllegalStateException: Fragment RecyclerTemperatureFragment{b4d74cd} not attached to Activity
                  at android.app.Fragment.getResources(Fragment.java:819)
                  at android.app.Fragment.getString(Fragment.java:841)
我怎样才能解决这个问题?我在网络上学习了一个教程,但在视频中,这个代码有效,但在我的项目中它崩溃了


谢谢

这一行可能给出了错误,因为要获取资源,您需要上下文:

String[] items = {getString(R.string.kt),getString(R.string.mph),getString(R.string.kmh)};
尝试在
onCreate