0

こんにちは私はAndroidプログラミングにまったく慣れておらず、タブレット経由でAIDEを使用しています。

TextViewまたはSystem.Out.printInを介して行った選択の出力を提供するスピナーボックスを使用して、非常に基本的なプログラムを作成しようとしています。(おそらく、Hello worldからの次のステップ-もしそうなら)

理解できない何らかの理由で、コンパイラはOnClickListenerの認識を拒否し、インポートでこれをすでに確認している場合、エラーメッセージ「Android.Widget.Spinnerの不明なメソッドOnClickListener」を表示します。

As a matter of interest I have changed the name of the Spinner and the error seems to dissapear, the problem then is the Spinner name. I have tried several variations on this, and have came to the conclusion that the best option for me is to create a variable just after Main Acivity, and before the layout is declared. 

問題を解決するために、オーバーライドの1つも無効にしました

誰かが問題が何であるかについての考えを持っていますか?

package com.BGilbert.AUC;

import android.app.*;
import android.os.*;
import android.widget.*;
import android.view.View.OnClickListener;
import android.widget.Spinner.*;
import android.view.*;


public class MainActivity extends Activity {;

  String Fbstring;
  OnClickListener Myonclick;

  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    this.setContentView(R.layout.main);
    final Spinner Fbspinner=(Spinner)findViewById(R.id.Spinner);

    // The problem is with this line. OnClickListener just wont be        
    // recognised
    Fbspinner.OnClickListener(Myonclick);
  }

  // Override previously disabled
  @Override
  public void Onselect(AdapterView<?> parent,View V, int pos, long id) {
    Fbstring = parent.getItemAtPosition(pos).toString();
    System.out.println(Fbstring);
  }

  @Override
  public void onNothingSelected(AdapterView<?> arg0) {
  }
}
4

1 に答える 1

0

スピナーにonClickListenerを設定することはできません。現時点では、高度すぎるビューにのみ設定できます。代わりに、onItemSelectedListenerを使用してください。

public class MainActivity extends Activity extends Activity implements OnItemSelectedListener {

public void onItemSelected(AdapterView<?> parent, View view, 
        int pos, long id) {
     ...
     ...
}

最初にドキュメントを読む必要がありますhttp://developer.android.com/guide/topics/ui/controls/spinner.html

また、標準の命名規則を使用してみてください。

http://www.oracle.com/technetwork/java/codeconv-138413.html http://www.oracle.com/technetwork/java/javase/documentation/codeconventions-135099.html#367

最後に、このコードには多くの問題があります。

public class MainActivity extends Activity {;

最後のセミコロンに注意してください。

最初にコードをコンパイルしてから、次の質問に戻ってください。

幸運を

于 2012-09-30T18:54:42.880 に答える