私はAndroidプログラミングに不慣れなので、この質問がばかげていると思われる場合は、大いに許してください。私はAndroid用の電卓を開発しています。つまり、約20個のボタンとテキストフィールドがあります。ボタンが押されるたびに、テキストフィールドを更新して、ユーザーが入力内容を認識できるようにします。
ただし、テキストフィールドを更新すると、アプリケーションがクラッシュします。
updateExpressionは、いずれかのボタンが押されたときに呼び出されるメソッドです。
public void updateExpression (View v)
{
Log.d("string", "updateExpression Called");
EditText text = (EditText) findViewById(R.id.name);
text.setText("HELLO EVERYONE");
}
ボタンの.xmlファイルは次のとおりです。
<Button
android:id="@+id/Button03"
android:layout_width="70dp"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/name"
android:layout_below="@+id/name"
android:onClick="updateExpression"
android:text="C" />
// goes on for 20 buttons with different ids and text
<TextView
android:id="@+id/name"
android:layout_width="fill_parent"
android:text="@string/edit_message"
android:layout_height="33dp"
android:textColor="@color/opaque_red"/>
</RelativeLayout>
最後に、logcatには文字列データ「updateExpressionCalled」があります。ただし、その直後にクラッシュします。エラーには、AndroidRuntime FatalExceptionmainというタグが付いています。この後、さらに多くのエラーが発生します。関連するもの(私によると)
原因:java.lang.classCatException:android.widget.TextViewをandroid.widget.EditTextにキャストできません
親切に助けてください。
ありがとうございました。