2016-03-21 21 views
-1

私はプレイヤーのリストがあるところで活動しています。リストには、すべてのプレーヤーの名前が含まれています。 「Remove」、「Rate as best」などのオプションを使用して各名前に対してスピナーを提供したい。 リストを作成しましたが、特定のオプションセットを持つスピナーを追加できませんでした。リストビューの各アイテムに対してスピナーを追加するには

マイコードです。

あなたはリストビュー[開く]ダイアログをクリックして、ダイアログの代わりに、スピナーにカスタムレイアウトを添付
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:orientation="vertical" 
    app:layout_behavior="@string/appbar_scrolling_view_behavior" 
    tools:showIn="@layout/activity_add_player"> 

     <ListView 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:layout_weight="4" 
      android:id="@+id/players_listView" 
      android:choiceMode="singleChoice"/> 
</LinearLayout> 
+0

ドゥplayers_name.xmlにスピナーコンポーネントがありますか?そして、デフォルトのアダプタを使用する代わりにcustomAdapterを書き、あなたが望むようにそれを使用します。 – ajantha

+0

このリンクを参照http://stackoverflow.com/questions/15002821/listview-adding-spinner-in-each-row各行にsipnerを追加できます –

+0

LinearLayout内にTextViewとSpinnerを持つレイアウトを作成します(orientation:次に、BaseAdapterを拡張するカスタムアダプターを使用します。今すぐあなたのアダプターでこのレイアウトを膨張させてください。 カスタムアダプターの使用方法をこの例で確認してください。http://androidadapternotifiydatasetchanged.blogspot.in/ – vjamit

答えて

1

は -

public class AddPlayerActivity extends AppCompatActivity { 

    @InjectView(R.id.players_listView) 
    ListView playersListView; 

    // Adapter for playersListView 
    private ArrayAdapter<String> playersArrayAdapter; 

    // Array of the players to be loaded in the list view 
    String[] players = {"ABC", "XYZ", "MNO", "GHI"}; 


    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_add_player); 
     ButterKnife.inject(this); 

     Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); 
     setSupportActionBar(toolbar); 
     getSupportActionBar().setDisplayHomeAsUpEnabled(true); 


     // Initializing array adapter 
     playersArrayAdapter = new ArrayAdapter<>(this, R.layout.players_name, players); 
     playersListView.setAdapter(playersArrayAdapter); 


     playersListView.setOnItemClickListener(new AdapterView.OnItemClickListener() { 
      @Override 
      public void onItemClick(AdapterView<?> parent, View view, int position, long id) { 

      } 
     }); 
    } 
} 

activity_add_player.xml。

例:リストビューclicklistner--

final Dialog alertDialog = new Dialog(Add_Vendor.this); 
         alertDialog.requestWindowFeature(Window.FEATURE_NO_TITLE); 
         alertDialog.setContentView(R.layout.layout_taglist); 
         alertDialog.getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT)); 

         alertDialog.getWindow().setLayout(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT); 

         alertDialog.show(); 

         list = (ListView) alertDialog.findViewById(R.id.list_view); 
         Button btndone = (Button) alertDialog.findViewById(R.id.button1); 

         CustomAdapterTag cadapter = new CustomAdapterTag(Add_Vendor.this,android.R.layout.simple_spinner_item,  

           tagslist);   

         list.setAdapter(cadapter); 

、あなたが「削除」のようなオプションでcustomAdaperを使用することができ、このように内部コードの下

書き込み、「ベストとしてレート」など

関連する問題