2012-02-23 6 views
0

私は奇妙な問題があります。Android - RelativeLayoutがボタンとして拡張されましたか?

<RelativeLayout     
       android:id="@+id/my_button" 
       android:layout_width="fill_parent" 
       android:layout_height="fill_parent" 
       android:background="@drawable/button_selector"/> 

ながら:私はXMLでrelativeLayout

v = inflater.inflate(R.layout.home, null); 
RelativeLayout btn = (RelativeLayout) v.findViewById(R.id.my_button); 

を取得しようと、私はこれを持って

java.lang.ClassCastException: android.widget.Button cannot be cast to android.widget.RelativeLayout 

コード、:私のAndroidアプリケーションを実行している間、私は例外を受け取りますデバッグ、私はvで、mIDのボタンがR.id.my_buttonと等しいことに気づいた。

xmlのidを変更して何か他のコードに変更すると、NullPointerExceptionが返されます。

これはなぜ起こりますか?

EDIT: このファイルの古いバージョンにButtonがありましたが、RelativeLayoutに置き換えた方が便利かもしれません。私はGITを使用しています。プロジェクトは何度もきれいにされ、日食も再開されました。

+0

万が一、別々のプロジェクトを2回実行していますか? 1つは4+のためのものと他のすべてのもののためのものです。 – Woodsy

+0

いいえ、1つのプロジェクトです。私はちょうど別のアンドロイドでそれを実行しようとしました。 – Seraphis

+0

ああ、私の間違い!私は低クラスのAndroidsでClassCastExceptionを取得しました。しかし、XMLではなぜそれがRelativeLayoutであり、ViewオブジェクトではButtonですか? (私はメインポストを更新します) – Seraphis

答えて

0

問題は、私が忘れてしまったレイアウトファイルをもう1つ作ったことです。同じアクティビティでは別の設定になっていました。問題が解決しました。

0

R.Javaファイルを削除して、アプリを実行した後に正常に動作します。

+0

私はプロジェクトをきれいにしました。 R.javaファイルを削除して再作成しました。この問題は進行していません。 – Seraphis

+0

私は通常それを手動で削除し、それは常に私のために働く。 – noob

+0

私は試しましたが、違いはありません。 – Seraphis

関連する問題