2011-09-13 8 views
3

私は、プログラムによってJavaファイルを通じて作成されたボタンを使用しています。私は機能を表すボタンonclickリスナーを使用しています。そのボタンのクリックリスナー内にスピナーを追加することは可能ですか?私のコードはここに行く:私はこのコードを使用する場合ボタン内のAndroidスピナーonclicklistener

View.OnClickListener newtodobtn = new View.OnClickListener() { 
    public void onClick(View v) { 
     // it was the 1st button 

     setContentView(R.layout.main); 

     sp1 = (Spinner)findViewById(R.id.spinner1); 
     ArrayAdapter<?> adapter = ArrayAdapter.createFromResource(this, R.array.priority, R.id.spinner1); 
     adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 
     sp1.setAdapter(adapter); 
     sp1.setAdapter(adapter);} 

、私は、次の取得エラー:

The method createFromResource(Context, int, int) in the type ArrayAdapter is not applicable for the arguments (new View.OnClickListener(){}, int, int)

がすべてのヘルプは高く評価され、感謝事前に

答えて

3

この

ArrayAdapter<?> adapter = ArrayAdapter.createFromResource(YourActivity.this, R.array.priority, R.id.spinner1); 
で交換してみてください
+0

エラーが発生しました: ArrayAdapter型のcreateFromResource(Context、int、int)メソッドは引数には適用されません(新しいView.OnClickListener(){}、int、int) –

+0

そのため、 YourActivity.this 'に変更します。 'YourActivity'は、現在の' Activity.java'または現在の 'Context'を意味します。 –

+0

こんにちは、私はこのエラーを次のコードで克服しました: スピナースピナー=(スピナー)findViewById(R.id.spinner1); \t ArrayAdapter adap = new ArrayAdapter(this、android.R.layout.simple_spinner_item、level); spinner.setAdapter(アダプタ); –

2

の代わりに<class name.this>を指定する必要があります。 Bczあなたがこれだけを提供するなら、それはボタンを参照するでしょう。それはなぜ機能しないのですか?

関連する問題