1

エラーは、TextView をボタンにキャストしようとしていると言っていますが、コードに問題はありません

XML:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/bg_grass"
tools:context=".Game3Activity" >

<ImageView
    android:id="@+id/imageView3"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentTop="true"
    android:layout_centerHorizontal="true"
    android:contentDescription="@string/junk"
    android:src="@drawable/bg_woodslab" />

<ImageView
    android:id="@+id/game3_q1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentTop="true"
    android:layout_centerHorizontal="true"
    android:contentDescription="@string/junk"
    android:src="@drawable/btn_picturehole" />
<TextView
    android:id="@+id/game3_q2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignBottom="@id/imageView3"
    android:layout_centerHorizontal="true"
    android:background="@drawable/btn_wordhole"    
    android:gravity="center"
    android:textSize="20sp" />
<Button
    android:id="@+id/game3_choice2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:layout_centerHorizontal="true"
    android:layout_marginBottom="74dp"
    android:contentDescription="@string/junk"/>

<Button
    android:id="@+id/game3_choice1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignBaseline="@id/game3_choice2"
    android:layout_alignBottom="@id/game3_choice2"
    android:layout_toLeftOf="@id/game3_choice2"
    android:contentDescription="@string/junk"/>

<Button
    android:id="@+id/game3_choice3"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignBaseline="@id/game3_choice2"
    android:layout_alignBottom="@id/game3_choice2"
    android:layout_toRightOf="@id/game3_choice2"
    android:contentDescription="@string/junk"/>

Java onCreate 関数:

image = (ImageView)findViewById(R.id.game3_q1);
textview = (TextView)findViewById(R.id.game3_q2);

変数はすでにプライベート変数 (プライベート ImageView イメージ) として初期化されています。イメージビューを設定しようとすると、アプリがすぐにクラッシュします。解決策はありますか?

4

3 に答える 3

4

プロジェクトのクリーニングと再構築を試みます。Eclipse と ADT は、特に .xml ファイル内の 2 種類のビューの場所を交換する場合に、バグが発生します。

于 2013-08-01T15:03:59.527 に答える
0

プロジェクトをクリーンアップして再構築するか、メソッドでどのレイアウトが呼び出されているかを確認してくださいActivity onCreate

たとえば、setContentView投稿したレイアウト ファイルを が参照していない場合、もちろん何か悪いことが起こります。

反対の証拠がないため、投稿したコードはActivity、おそらく で行われると想定していることに注意してください。onCreate

そうでない場合は、スタック トレース全体と追加のコードを投稿してください。

于 2013-08-01T15:06:25.453 に答える
0

正しいクラスをインポートしたことを確認してください。

import android.widget.ImageView;
import android.widget.TextView;
于 2013-08-01T15:08:17.617 に答える