0

Mainのandroidxmlファイルにボタンがあり、クリックすると別のビュー/アクティビティが表示されます。私の問題は、アプリケーションが予期せず終了する必要があるというエラーメッセージが表示されることです。

これがボタンです

<Button android:id="@+id/showmeurcode"
   android:layout_width="wrap_content"
   android:layout_height="wrap_content"
   android:onClick="OnShowMeUrCode"
>

OnShowMeUrCodeメソッドは、MainActivityクラスで次のように定義されています。

private void OnShowMeUrCode(View btn)
{
    Intent urCode=new Intent(this,CodePage.class);
    startActivity(urCode);
}

CodePage同じ名前のクラスから生成されます

public class CodePage extends Activity
{
   ....
}

Intentを使用して別のビューを表示するという単純なタスクを実行できることを期待して行ったのはこれだけですが、予期しないエラーが発生し、プログラムが失敗します。

4

2 に答える 2

2

OnShowMeUrCode() 関数を非公開ではなく公開に変更する必要があります。これは Activity クラスの一部であるため、非公開の場合、Button はアクセスできません。

さらに、ドキュメントにあります: http://developer.android.com/reference/android/widget/Button.html

于 2012-10-02T21:38:30.780 に答える
0

エラーログ出力のないコードに基づいて、正しいコンテキストをメソッドに渡さなかったと思います。

これはあなたのコードです:

private void OnShowMeUrCode(View btn)
{
    Intent urCode=new Intent(this,CodePage.class);
    startActivity(urCode);
}  

関連する行を次のように置き換えてみてください。

Intent urCode=new Intent(MainActivity.this,CodePage.class);

A と B の 2 つのアクティビティがあるとします。A から B を呼び出す場合は、次のように記述します。

Intent i = new Intent(A.this, B.class);
startActivity(i);

また、新しいアクティビティを作成するたびに AndroidManifest.xml にアクティビティを登録する必要があります。あなたの場合、 AndroidManifest.xml に2つのアクティビティがあるかどうかを確認してください

于 2012-10-02T21:28:04.140 に答える