-
Notifications
You must be signed in to change notification settings - Fork 210
Only last item visible. #151
Description

I am using kotlin as well as java
<fr.ganfra.materialspinner.MaterialSpinner
android:id="@+id/spnPrimaryGrowthStage"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dimen_8"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:ms_baseColor="@color/separator_black"
app:ms_floatingLabelColor="@color/colorPrimary"
app:ms_floatingLabelText="@string/select_growth_stage"
app:ms_highlightColor="@color/colorPrimary"
app:ms_hint="@string/primaryGrowthStage"
app:ms_hintColor="@color/cool_grey_light"
app:ms_multiline="true"/>
class PrimaryGrowthStageAdapter(private val context: Context, private val items: List) :
BaseAdapter() {
private var mView: View? = null
override fun getItem(position: Int): Any = items[position]
override fun getItemId(position: Int): Long = position.toLong()
override fun getCount(): Int = items.size
override fun getView(position: Int, convertView: View?, parent: ViewGroup): View {
val viewHolder: ViewHolder
if (mView == null) {
mView = LayoutInflater.from(context).inflate(R.layout.spinner_item, parent, false)
viewHolder = ViewHolder()
viewHolder.tvTitle = mView!!.findViewById(R.id.tvTitle) as TextView
mView!!.tag = viewHolder
} else {
viewHolder = mView!!.tag as ViewHolder
}
viewHolder.tvTitle!!.text = items[position].growthStageTitle
viewHolder.tvTitle!!.setTextColor(Color.BLACK)
return mView!!
}
class ViewHolder {
var tvTitle: TextView? = null
}
}
private void populatePrimaryGrowthStageSpinner(@nonnull List primaryGrowthStageItems) {
primaryGrowthStageAdapter = new PrimaryGrowthStageAdapter(getApplicationContext(), primaryGrowthStageItems);
spnPrimaryGrowthStage.setAdapter(primaryGrowthStageAdapter);
spnPrimaryGrowthStage.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@OverRide
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
if (position > 0) {
mSelectedPrimaryGrowthStage = (TempPrimaryGrowthStageItem) parent.getSelectedItem();
if (mSelectedPrimaryGrowthStage != null) {
getSecondaryGrowthStage(mSelectedPrimaryGrowthStage.getGrowthStageId());
}
}
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
}
});
}