2017-05-24 10 views
0

私はスピナーを実装する必要があるプロジェクトに取り組んでいます。私のスピナーのコードは以下の通りです:Spinnerをカスタマイズする方法を追加するには?

ArrayAdapter stringArrayAdapter = new ArrayAdapter(this, 
    android.R.layout.simple_spinner_dropdown_item, CatagoryName); 

     // create a spinner 
     Spinner spinner = (Spinner) findViewById(R.id.spinner); 
     // add adapter to spinner 
     spinner.setAdapter(stringArrayAdapter); 
     // create listener and add to spinner 
     spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { 
      @Override 
      public void onItemSelected(AdapterView<?> parent, View view, int position, long id) { 
       // put code which recognize a selected element 
      } 

      @Override 
      public void onNothingSelected(AdapterView<?> parent) { 

      } 
     }); 

は基本的に、私は

ArrayAdapter stringArrayAdapter = new ArrayAdapter(this, 
    android.R.layout.simple_spinner_dropdown_item, CatagoryName); 

で私のカスタムスピナーレイアウトを使用したいR.layout.simple_spinner_dropdownは私が欲しいものではありません。どのように私のこのレイアウトを交換するには?

+1

'ArrayAdapter'の中で' android.R.layout.simple_spinner_dropdown_item'の代わりにこの 'R.layout.simple_spinner_dropdown'を渡してから、' setDropDownViewResource'を実行してください。 –

+0

承認済みの回答はhttps://stackoverflow.com/questions/18567986/custom-spinner-adapter-simple-spinner-dropdown-item-not-displaying-colrectlyになりました –

+0

カスタムレイアウトとは何ですか?あなたはそれを作ったのですか?あなたが実際にそれを使用しているときには機能しませんか? –

答えて

0

これは私のために働いている、 は、まず、上記のような値のディレクトリにいるのstrings.xmlに


 
    <string-array name="spinner_array"> 
 
     <item>item1</item> 
 
     <item>item2</item> 
 
     <item>item3</item> 
 
    </string-array>

をスピナーの項目を定義します上記のコードを試してください。

Spinner customSpinner = (Spinner)findViewById(R.id.spinner); 

    ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(getApplicationContext(), R.array.spinner_array, R.layout.custom_spinner_dropdown); 

    customSpinner.setAdapter(adapter); 
0

このアプローチを試してみてください:

Spinner spinner = (Spinner) findViewById(R.id.spinner); 
    String[] CatagoryName = {"A","B","C","D"}; 
    ArrayAdapter<CharSequence> langAdapter = new ArrayAdapter<CharSequence>(getActivity(), R.layout.your_layout, CatagoryName); 
    langAdapter.setDropDownViewResource(R.layout.simple_spinner_dropdown); 
    spinner.setAdapter(langAdapter); 
+1

しかしCatagoryNameはどうですか?私のarraylistはCatagoryNameにあります。私はスピナーでこれを見せていますか? –

+0

更新されたコードを試してください。 –

関連する問題