Bir oyuncu listesi bulunan bir etkinliğim var. Liste tüm oyuncunun adını içerir. Her bir isme karşı "Kaldır", "En iyiyi oyla" vb. Seçeneklerle bir spinner vermek istiyorum. Listeyi oluşturdum ancak belirli bir seçenekler kümesine sahip bir spiker ekleyemedim.Liste görünümünün her bir öğesine karşı bir döndürücü nasıl eklenir
Benim kodum. Eğer listview açık Dialog tıklayıp eğiren yerine Dialog özel düzen iliştirdiğinizde
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>
Do players_name.xml içinde spinner bileşeniniz var mı? Ve varsayılan Adaptör yazma customAdapter kullanmak yerine ve dilediğiniz gibi kullanın. – ajantha
bu bağlantıya bakın http://stackoverflow.com/questions/15002821/listview-adding-spinner-in-each-row her satırda ekleyebilirsiniz sipner –
Bir LinearLayout içinde TextView ve Spinner olacak bir düzen oluşturun (oryantasyon: yatay) .. Sonra BaseAdapter uzatacak özel bir adaptör kullanın. Şimdi bu düzeni adaptörünüzde şişirin. Özel bağdaştırıcıyı nasıl kullanacağınıza dair bu örneği kontrol edin: http://androidadapternotifiydatasetchanged.blogspot.in/ – vjamit