2011-07-21 4 views
-2

私は天国か地獄に来るでしょうか? 私は5つのスピナーを設定しなければならなかったので、非常にコンパクトなコードを試しました。私はなぜArrayAdapterを使うべきか理解できませんでしたので、すべてのチュートリアルで使用していましたが、単純に削除しました。私はそれがうまくいって、賞賛されました。 normalyとしてrecomandedチュートリアルにある、これは私がArrayAdapterセクションをドロップアウトした私の.java、内の場所がある私のAndroidスピナーはArrayAdapterなしで動作します...なぜですか?

Spinner s2_height = (Spinner)findViewById(R.id.s2_height); 
    s2_height.setOnItemSelectedListener(new OnItemSelectedListener() { //Register a callback to be invoked when an item in this AdapterView has been selected. 
     public void onItemSelected(AdapterView<?> arg0, View arg1, //Callback method to be invoked when an item in this view has been selected 
       int arg2, long arg3) { 
      myCalc();} 
     public void onNothingSelected(AdapterView<?> arg0) { 
     // TODO Auto-generated method stub 

     } 
}); 

:コードは、唯一のスピナーを示している

ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(
      this, R.array.Height_array_id, android.R.layout.simple_spinner_item); 
    adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 
    s2_height.setAdapter(adapter); 

そして驚くべきことに、それを私は5つのスピナーすべてにItemPositionを正しく表示するメソッドmyCalcを配置しました。今私は別の場所で何か欠点があるか、色の変化や文章の高さになるのではないかと恐れています。誰かに同じ問題がありますか?

+1

おそらく、レイアウトxmlにエントリ(アンドロイド:エントリ)を割り当てているので、それは簡単だと思います。 – Ishaan

答えて

6

私は天国か地獄に来るでしょうか?

など、あなたの司祭、牧師、ラビ、それはStackOverflowのための関連する問題ではないため問題となり

私はArrayAdapterを使うべき理由を理解didn't、私は単に

それをドロップアウトしたあなたはArrayAdapterを使用する必要はありませんが、あなたが移入するためSpinnerAdapterのいくつかのフォームを使用する必要がありますsetAdapter()を介してSpinner。それ以外の場合、Spinnerは空になります。 Spinnerが空でない場合は、setAdapter()をどこかに呼び出したことを意味します。

+0

標準のArrayAdapterコードを4行挿入してもう一度削除してみました。どちらも同じように機能しました。私は間違いなく、どのような種類のsetAdapter()もありません。明示的にコード化されていなければ、最新のSDKがsetOnItemSelectedListener automaticaly(hidden)でそれを提供できるのでしょうか? – PedroJebeto

+0

@PedroJebeto: "私は間違いなくaAdwhereのようなsetAdapter()を持っていません。" - あなたの 'Spinner'が空であるか、コードを変更した後にあなたのアプリケーションを再コンパイル/再インストールするのを忘れた。 – CommonsWare

+0

Androidのスピナーは、ロックが7つある城のようなものです。類似したfaqの数がここに掲載されていますが、システムに何か問題があります。あなたは簡単にスピナーの外観、色、サイズ、何も変更することはできません。そして、それは各アプリの最も基本的な石です。ご協力ありがとうございます! – PedroJebeto

関連する問題