我已经设置了一个列表项目的意图,以便当我单击该项目时,新活动开始。当我点击列表项时我的应用程序崩溃,这条消息显示在logcat中:
引起:java.lang.IllegalArgumentException:找不到ID为0x7f0c0055(com.example.android.sunshine:id / container)的片段,用于片段DetailFragment {470791f#0 id = 0x7f0c0055} < / p>
以下是邮件正在提供的详细信息片段:
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;
}
}
}
答案 0 :(得分:0)
而不是直接从intent获取String值, 尝试从Bundle获取String值,如下例所示,您得到引起: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);
}