Ich habe ein kleines Problem, wo mein Spinner nicht die Anwendung abstürzt, aber zur gleichen Zeit zeigt nicht meine benutzerdefinierte Adapter darin. Ich habe ewig nicht versucht zu sehen, wo das Problem ist, aber ich kann es immer noch nicht finden, kann jemand meinen Fehler erkennen?Android benutzerdefinierte Spinner-Adapter zeigt Inhalt nicht
Mein Adapter
public class AccomdationAdapter extends ArrayAdapter <String> {
Context c;
String[] roomType;
int[] images;
public AccomdationAdapter(Context ctx, String[] roomType, int[] images) {
super(ctx, R.layout.custom_room_spinner);
this.c=ctx;
this.roomType=roomType;
this.images=images;
}
@Override
public View getDropDownView(int position, View convertView, ViewGroup parent) {
if(convertView==null){
LayoutInflater inflater = (LayoutInflater)c.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
convertView = inflater.inflate(R.layout.custom_room_spinner,null);
}
TextView roomTypes = (TextView) convertView.findViewById(R.id.txtRoom);
ImageView roomIcon = (ImageView) convertView.findViewById(R.id.imgRoom);
//set data
roomTypes.setText(roomType[position]);
roomIcon.setImageResource(images[position]);
return convertView;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
if(convertView==null){
LayoutInflater inflater = (LayoutInflater)c.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
convertView = inflater.inflate(R.layout.custom_room_spinner,null);
}
TextView roomTypes = (TextView) convertView.findViewById(R.id.txtRoom);
ImageView roomIcon = (ImageView) convertView.findViewById(R.id.imgRoom);
//set data
roomTypes.setText(roomType[position]);
roomIcon.setImageResource(images[position]);
return convertView;
}
}
Hauptaktivität
Spinner roomTypeSpinner;
String[]roomType = {"Single", "Double"};
int[] roomimages = {R.drawable.ic_menu_camera, R.drawable.ic_menu_gallery};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
roomTypeSpinner = (Spinner) findViewById(R.id.spinner);
AccomdationAdapter adapter = new AccomdationAdapter(this, roomType, roomimages);
roomTypeSpinner.setAdapter(adapter);
Individuelle Raum Spinner xml
<ImageView
android:layout_width="50dp"
android:layout_height="50dp"
android:id="@+id/imgRoom"
android:background="@drawable/abc_ic_star_black_16dp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceMedium"
android:text="Medium Text"
android:id="@+id/txtRoom"
android:layout_alignParentTop="true"
android:layout_toEndOf="@+id/imgRoom"
android:textSize="50dp" />
</RelativeLayout>
Inhalt Haupt
<Spinner
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/spinner" />
rate ich würde das 'public int getCount()' Methode in Ihrem Adapter überschreiben, Rückkehr 'Zimmertyp .length' – NSimon
Hallo Nicolas könnten Sie ein Beispiel geben – james