2016-03-21 6 views
-1

У меня есть активность, где есть список игроков. Список содержит все имя игрока. Я хочу предоставить spinner для каждого имени с некоторыми параметрами, такими как «Удалить», «Оценить как лучше» и т. Д. Я создал список, но не смог добавить счетчик с определенным набором опций.Как добавить счетчик против каждого элемента списка

Мой код.

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 это-

<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

Do у вас есть компонент spinner в players_name.xml? И вместо того, чтобы использовать адаптер адаптера по умолчанию, напишите customAdapter и используйте его по своему усмотрению. – ajantha

+0

см. Эту ссылку http://stackoverflow.com/questions/15002821/listview-adding-spinner-in-each-row в каждой строке вы можете добавить sipner –

+0

Создайте макет, который будет иметь TextView и Spinner внутри LinearLayout (ориентация: горизонтальный). Затем используйте пользовательский адаптер, который расширяет BaseAdapter. Теперь раздуйте этот макет в своем адаптере. Проверьте этот пример использования пользовательского адаптера: http://androidadapternotifiydatasetchanged.blogspot.in/ – vjamit

ответ

1

При нажатии на открытом диалоге списке следует присоединить и пользовательский макет в диалоге вместо блесны.

Ex:

Написать ниже код внутри ListView 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 с опциями, как "Удалить", "Скорость, как лучше" и т.д.

Смежные вопросы