2011-08-31 14 views
0

本当に基本的なアプリケーションでAndroid開発を始めます。私はAlertDialogsを使いこなしていて、リストビューを動作させようとしています。私はボタンをクリックするとAlertDialogを作成/表示する関数を呼び出す必要があります。ここにはボタンのコードがあります。AndroidのListViewを使用したAlertDialog

<Button android:layout_height="wrap_content" android:text="@string/partyChoice" android:id="@+id/partyChoiceButton" android:layout_width="wrap_content" android:layout_above="@+id/shirtSizeButton" android:layout_alignParentLeft="true" android:layout_alignParentRight="true" android:onClick="partyChoice">

そして、ここで関数のコードpartyChoice

public void partyChoice() 
{ 
    final CharSequence[] items = {"Bowling", "Laser Tag", "Combo", "Cosmic"}; 

    AlertDialog.Builder builder = new AlertDialog.Builder(PartyPlannerActivity.this); 
    builder.setTitle("Choose A Party"); 
    //builder.setIcon(R.drawable.icon); 
    builder.setSingleChoiceItems(items, -1, new DialogInterface.OnClickListener() { 
     public void onClick(DialogInterface dialog, int item) { 
    Toast.makeText(getApplicationContext(), items[item], Toast.LENGTH_SHORT).show(); 
     } 
    }); 

    builder.setPositiveButton("Yes", 
    new DialogInterface.OnClickListener() { 
     public void onClick(DialogInterface dialog, int id) { 
     Toast.makeText(PartyPlannerActivity.this, "Success", Toast.LENGTH_SHORT).show(); 
     } 
    }); 
    builder.setNegativeButton("No", 
    new DialogInterface.OnClickListener() { 
     public void onClick(DialogInterface dialog, int id) { 
     Toast.makeText(PartyPlannerActivity.this, "Fail", Toast.LENGTH_SHORT).show(); 
     } 
    }); 
    AlertDialog alert = builder.create(); 
    alert.show(); 
} 

このコードはコンパイルされ、エラーなしで実行され、私はボタンをクリックして行くとき、しかし、私のアプリケーションの力が閉じます。問題がどこにあるのかわかりません。もし誰かが私を助けることができたら、それは大いに感謝されるでしょう。

+1

Eclipseでは、[ウィンドウ - >表示の表示 - >その他] 。これにより、例外のスタックトレースを含むデバイス/エミュレータのログが表示されます。 – IncrediApp

+0

どのラインですか? ,,, – Ronnie

+0

adb logcatからスタックトレースを表示できますか? – user922295

答えて

1

XMLから参照されるすべてのonClick関数は、View引数をとる必要があります。

変更

public void partyChoice() 

public void partyChoice(View v) 
+0

これは、ありがとう、働いた。私はそれを逃したとは信じられません。 – Cistoran

0

にあなたは、正確な問題を指すピン助けるために上記の私のコメントを確認してください。 さらに、私はあなたの問題がメソッドの署名であると仮定します。 android:onClickを使用すると、ビューを引数として受け入れるメソッドが呼び出されます。つまり、メソッドのシグネチャをpublic void partyChoice(View view)に変更する必要があります。

関連する問題