textViewがGridViewに変更されると、アプリケーションがクラッシュし続けます。フラグメント内でGridViewを使用するとアプリケーションがクラッシュする
4月14日09:18:50.704 6903から6903/com.example.bernine.practicalsessions E/AndroidRuntime:致命的な例外:メインとjava.lang.ClassCastException:android.widget.GridViewがアンドロイドにキャストすることはできません。 com.example.bernine.practicalsessions.TechnologyFragment.onCreateViewでwidget.TextView(技術Fragment.java:38)
は、私はXMLファイルに間違った何かをやっていますか?
<?xml version="1.0" encoding="utf-8"?>
<!--<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center" />-->
<GridView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/gridview"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:columnWidth="90dp"
android:numColumns="auto_fit"
android:verticalSpacing="10dp"
android:horizontalSpacing="10dp"
android:stretchMode="columnWidth"
android:gravity="center"
/>
そして、これが
フラグメントクラスですpublic class ScienceFragment extends Fragment {
public static final String ARG_PAGE = "ARG_PAGE";
private int mPage;
public static ScienceFragment newInstance(int page) {
Bundle args = new Bundle();
args.putInt(ARG_PAGE, page);
ScienceFragment fragment = new ScienceFragment();
fragment.setArguments(args);
return fragment;
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mPage = getArguments().getInt(ARG_PAGE);
Toast.makeText(getContext(), "Science", Toast.LENGTH_SHORT).show();
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.activity_sports_fragment, container, false);
TextView textView = (TextView) view;
textView.setText("Fragment Science #" + mPage);
return view;
}
}
のTextViewがコメント解除されたとのGridViewがコメントしたときに、アプリがうまく働きました。
を使用していることを意味しますか? – GVillani82
04-14 09:18:50.704 6903-6903/com.example.bernine.practicalsessions E/AndroidRuntime:致命的除外:メイン java.lang.ClassCastException:android.widget.GridViewをandroid.widget.TextViewにキャストできません at com.example.bernine.practicalsessions.TechnologyFragment.onCreateView(TechnologyFragment.java:38) = – Techworld
これは、「GridViewをTextViewにキャスト」しようとしていることを意味します。 このようにしてください: GridView gView =(GridView)view; – GVillani82