Android 原因:java.lang.IllegalArgumentException:
我在列表项上设置了一个意图,这样当我单击该项时,一个新的活动就会开始。当我单击列表项时,我的应用程序崩溃,此消息显示在logcat中: 原因:java.lang.IllegalArgumentException:未找到片段详细信息片段{470791f#0 id=0x7f0c0055}的id 0x7f0c0055(com.example.android.sunshine:id/container)的视图 以下是消息引用的详细信息片段:Android 原因:java.lang.IllegalArgumentException:,android,android-fragments,android-intent,Android,Android Fragments,Android Intent,我在列表项上设置了一个意图,这样当我单击该项时,一个新的活动就会开始。当我单击列表项时,我的应用程序崩溃,此消息显示在logcat中: 原因:java.lang.IllegalArgumentException:未找到片段详细信息片段{470791f#0 id=0x7f0c0055}的id 0x7f0c0055(com.example.android.sunshine:id/container)的视图 以下是消息引用的详细信息片段: public static class DetailFragm
public static class DetailFragment extends Fragment {
public DetailFragment() {
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment_detail, container, false);
// The detail Activity called via intent. Inspect the intent for forecast data.
Intent intent = getActivity().getIntent();
if (intent != null && intent.hasExtra(Intent.EXTRA_TEXT)) {
String forecastStr = intent.getStringExtra(Intent.EXTRA_TEXT);
((TextView) rootView.findViewById(R.id.detail_text))
.setText(forecastStr);
}
return rootView;
}
}
}而不是直接从intent获取字符串值, 尝试从Bundle中获取字符串值,如下面的示例所示,您得到的原因是:java.lang.IllegalArgumentException:找不到视图,因为它在将视图返回到片段之前会崩溃
Intent intent = getActivity().getIntent();
if (intent != null && intent.getExtras()!= null) {
String forecastStr = intent.getExtras().getString(Intent.EXTRA_TEXT, "");
((TextView) rootView.findViewById(R.id.detail_text))
.setText(forecastStr);
}
确保
fragment\u detail
文件包含detail\u文本视图。是的,fragment\u detail文件包含detail\u文本视图。您应该尝试清除缓存并重建它。我已多次遇到此错误。请显示您的xml文件。